A website for model railway collectors.
tbd
- 🦀
Rust Cargoandcargo-makeDocker/Docker compose
git clone https://github.com/CarloMicieli/trenako
cd trenako
docker compose up- The database admin webpage is available at http://localhost:9000/
- The open api documentation is available at http://localhost:9001/
All the most important tasks are defined in the Makefile.toml for cargo-make.
In order to install cargo-make just run the following command:
cargo install --force cargo-makeTo run the postgres database as detached docker container:
cargo make docker-postgres-runto execute the database migrations:
cargo make db-migrateThe sqlx query! macro is checking the query commands against a live database, to avoid to fail the build when a database is not available the offline mode is handled saving the query information into a json file. To update the file run the following command:
cargo make db-update-offline cargo make run
Finished dev [unoptimized + debuginfo] target(s) in 0.10s
Running `target/debug/trenako`
_ _
| | | |
| |_ _ __ ___ _ __ __ _| | _____
| __| '__/ _ \ '_ \ / _` | |/ / _ \
| |_| | | __/ | | | (_| | < (_) |
\__|_| \___|_| |_|\__,_|_|\_\___/
Starting the server (127.0.0.1:5000)...| Variable | Description |
|---|---|
SERVER__HOST |
the server host name |
SERVER__PORT |
the server port number |
DATABASE__NAME |
the database name |
DATABASE__USERNAME |
the database username |
DATABASE__PASSWORD |
the database password |
DATABASE__HOST |
the database hostname |
DATABASE__PORT |
the database port number |
DATABASE__REQUIRE_SSL |
the database connection requires SSL |
DATABASE__MIN_CONNECTIONS |
the database min number of connections |
DATABASE__MAX_CONNECTIONS |
the database max number of connections |
LOGGING__FORMAT |
the logging format (allowed values: json, compact and pretty) |
LOGGING__LEVEL |
the logging format (allowed values: error, warn, info, debug, trace) |
Run all tests with the following command:
cargo make testThe rust code is following the rust formatting standard (via rustfmt), to check if the formatting is correct:
cargo make fmt-checkTo run the rust linter (clippy):
cargo make clippyContributions are always welcome!
See CONTRIBUTING.md for ways to get started.
Please adhere to this project's code of conduct.
Copyright 2022 Carlo Micieli
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.