Compare commits

..

2 Commits

Author SHA1 Message Date
770c174555 README + Clean up
All checks were successful
Deploy API / build-and-deploy (push) Successful in 2m33s
2026-05-01 12:12:55 +02:00
e85b82a9f2 FIX: docker file cleanup
All checks were successful
Deploy API / build-and-deploy (push) Successful in 2m26s
2026-03-11 14:51:54 +01:00

View File

@@ -1,10 +1,10 @@
# hotel-api-rs # hotel-api-rs
## Description ##Description
Ce projet est un proof of concept servant de terrain d'expérimentation pour un outil interne destiné à des hotels. Ce projet est un proof of concept servant de terrain d'expérimentation pour un outil interne destiné à des hotels.
### Objectif: Objectif:
-Petite échelle: ~50 hôtels maximum, ~5 utilisateurs par hôtel -Petite échelle: ~50 hôtels maximum, ~5 utilisateurs par hôtel
-Facilité de maintenance, y compris pour des utilisateurs peu à l'aise avec Linux -Facilité de maintenance, y compris pour des utilisateurs peu à l'aise avec Linux
@@ -18,7 +18,7 @@ Ce projet m'a persmis de découvrir et mettre en pratique :
-GitActions -GitActions
-SQlite -SQlite
## Fonctionalités ##Fonctionalités
-CRUD (rooms, inventory, chat) -CRUD (rooms, inventory, chat)
-Authentification : -Authentification :
@@ -27,14 +27,14 @@ Ce projet m'a persmis de découvrir et mettre en pratique :
-Notifications en temps réel(WebSocket) -Notifications en temps réel(WebSocket)
-Chat en temps réel -Chat en temps réel
## Démo ##Démo
Une interface de démonstration est disponible ici: Une interface de démonstration est disponible ici:
https://mallardromain.com/hotel-demo/ https://mallardromain.com/hotel-demo/
## Installation ##Installation
### Local ###Local
``` ```
cargo run cargo run
@@ -43,7 +43,7 @@ cargo run
-Les bases SQLite sont présentes par défaut dans `/db` -Les bases SQLite sont présentes par défaut dans `/db`
-Port par défaut : 7080(configuré dans `main.rs`) -Port par défaut : 7080(configuré dans `main.rs`)
### Docker ###Docker
``` ```
docker run -d \ docker run -d \
@@ -55,21 +55,21 @@ Notes:
-Il est nécessaire de copier les bases de donner par défaut dans le volume -Il est nécessaire de copier les bases de donner par défaut dans le volume
-Le scret doit obligatoirement être préciser a la création du container -Le scret doit obligatoirement être préciser a la création du container
-Valeur de JWT_SECRET pour les utilisateur présent sur les bases de donnée par défault: -Valeur de JWT_SECRET pour les utilisateur présent sur les bases de donnée par défault:
`your_jwt_secret_key` `your_jwt_secret_key`
## Architecture ##Architecture
### Routing ###Routing
-Point d'entrée: `./src/routes/mod.rs` (utilié dans le `./main.rs`) -Point d'entrée: `./src/routes/mod.rs` (utilié dans le `./main.rs`)
-Organisation par domaine: -Organisation par domaine:
-chaque module posséde son propre `routes.rs` -chaque module posséde son propre `routes.rs`
### Modules principaux ###Modules principaux
-`.src/rooms`,`.src/inventory` et `.src/chat` sont principalement de la logique CRUD -`.src/rooms`,`.src/inventory` et `.src/chat` sont principalement de la logique CRUD
### Utils ###Utils
-`src/utils/db_pools.rs` -`src/utils/db_pools.rs`
Getsion des connexions aux bases SQLite de chaque hôtels Getsion des connexions aux bases SQLite de chaque hôtels
@@ -82,7 +82,7 @@ Notes:
-Génération et validation des JWT -Génération et validation des JWT
-Pré-traitement des tokens -Pré-traitement des tokens
## Authentification ##Authentification
Flow: Flow:
@@ -98,7 +98,7 @@ Flow:
`/auth/ws/YourToken` `/auth/ws/YourToken`
## Ce que j'ai appris ##Ce que j'ai appris
-Utilisation du framework "Axum" -Utilisation du framework "Axum"
-Gestion de payload des requète explicite et stricte -Gestion de payload des requète explicite et stricte