# GoalAim Backend
![Linux](https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black) ![Rust](https://img.shields.io/badge/Rust-CE412B?style=for-the-badge&logo=rust&logoColor=orange)
## Table of Contents - [Presentation](#presentation) - [Installation](#installation) - [Database](#local-db) - [Server](#launch-server) - [Unit Tests](#unit-tests) - [Documentation](#documentations) - [Swagger](#swagger) ## Presentation Here the repo of the Rust server. \ The application will make call to the server to get the information. ## Installation ### Local db You have to setup a local postgres db with docker : ```sh # Install diesel cargo install diesel_cli --no-default-features --features postgres # creation du docker: sudo docker run --name goalaim_db -d -p 5432:5432 -e POSTGRES_PASSWORD=admin postgres # CMD for the end # Connect yourself to the docker : psql --host=0.0.0.0 -U postgres # Always restart the docker : sudo docker update --restart always goalaim_db # In the docker : CREATE DATABASE goalaim_db; CREATE DATABASE test_db; # In the .env at the root of the project DATABASE_TEST_URL=postgres://postgres:admin@0.0.0.0/test_db DATABASE_URL=postgres://postgres:admin@0.0.0.0/goalaim_db PORT=8080 JWT_SECRET="celui qui lit ça est gay" ``` For Diesel set this in your .bashrc or .zshrc and then, restart your terminal ```sh # relace user by the real name export PATH="$PATH:/home/user/.cargo/bin" ``` To create the Table in the docker psql : ```sh diesel migration run ``` To check if the table is created : ```sh # Connection psql --host=0.0.0.0 -U postgres # Connect yourself to the db \connect goalaim_db # Check if table exist SELECT * FROM users; ``` ### Launch server To launch the server run : ```sh cargo build # or directly cargo run ``` ## Unit Tests To run the unit tests : ```sh cargo test ``` ## Documentations To have the Documentation of the code : ```sh cargo doc ``` Now you have to go to ${ACTUAL_PATH}/target/doc/goalaim/ and open the index.html in the browser. ### Swagger You can have the swagger of our API routes in [Swagger](/Docs/API/swagger_spec.yaml) You can have a preview of our swagger with the Swagger Preview extension in vscode. ## Contributors You can contact us at: - **Noeme Suisse** : noeme.suisse@epitech.eu - **Victor Massonnat** victor.massonnat@epitech.eu
Noeme Suisse
Noeme Suisse

vic
Victor Massonnat