Ce projet se lance en local avec Node.js pour l’application, et Docker Desktop/WSL uniquement pour la base PostgreSQL.
-
Définir le mot de passe dans l'environnement (PowerShell/Bash):
- Bash/WSL:
export POSTGRES_PASSWORD="votre_mot_de_passe" - PowerShell:
$env:POSTGRES_PASSWORD="votre_mot_de_passe"
- Bash/WSL:
-
Démarrer la DB:
docker compose up -d
-
Paramètres de connexion:
- Host:
localhost - Port:
5432 - User:
postgres - DB:
example - Password: valeur de
POSTGRES_PASSWORD
- Host:
-
Arrêter la DB:
docker compose down
Les données sont persistées dans le volume db-data.
-
Installer les dépendances:
npm ci
-
Configurer les variables d’environnement (exemple
.env):JWT_SECRET="change-me"DB_DIALECT=postgresDB_HOST=localhostDB_PORT=5432DB_USER=postgresDB_NAME=exampleDB_PASSWORD=<le_mot_de_passe_utilisé_pour_POSTGRES_PASSWORD>- Optionnel:
CORS_ORIGINS=http://localhost:3000 - Optionnel:
AUTH_USE_COOKIES=true
-
Démarrer l’app:
- Dev:
npm run dev - Prod local:
npm start
- Dev:
-
Endpoints utiles:
- Health:
GET /healthz,GET /readyz - API:
http://localhost:3000/api/...
- Health:
- Le serveur démarrera sur
http://localhost:3000. - Utilisez des outils comme Postman ou cURL pour interagir avec l'API.
- POST
/api/users: Inscription d'un nouvel utilisateur. - POST
/api/users/login: Connexion d'un utilisateur.
- GET
/api/users/me: Récupérer les informations de l'utilisateur connecté. - PUT
/api/users/me: Mettre à jour l'utilisateur connecté. - DELETE
/api/users/me: Supprimer l'utilisateur connecté.