Compare commits
4 Commits
multi-hote
...
801b9e9066
| Author | SHA1 | Date | |
|---|---|---|---|
| 801b9e9066 | |||
| 4043f9d032 | |||
| e8b6a392a1 | |||
|
|
659121c71c |
28
README.md
28
README.md
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user