Getting started
Configure environment variables
Database configurations and other settings are stored in a .env
file.
First you need to rename the file .env.sample
to .env
, after which you need to fill it with your data.
Database (PostgreSQL)
Diesel (ORM) is used to work with the database.
:information_source: More information on setting up Diesel CLI can be found on the official website under Getting Started.
Installing Diesel CLI
# Installing diesel_cli
$ cargo install diesel_cli --no-default-features --features postgres
Setup diesel cli
First, you need to rename the .env.sample
file to .env
and fill in all the parameters with your data, then run the
command diesel setup
.
# Will create a database (if not already created) and create an empty folder for migrations.
$ diesel setup
:rocket: Run & Build
$ cargo build # Update dependencies and build project
$ cargo run # Update dependencies, build and run the project
Testing
$ cargo test # Running tests
Code style
The project follows the official coding style. For automatic formatting, a tool is used - Rustftm.
:information_source: Rustfmt - tool for formatting Rust code according to style guidelines.
# Installation guide
# Install tool
$ rustup component add rustfmt
# Run Rustfmt
$ cargo fmt
License
MIT License
Copyright (c) 2021 Rodion Belovitskiy
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.