- nvm (ou nvm-windows) pour gérer la version de Node.js
- Node.js (version 22.15.0, voir
.nvmrc) - npm
- Docker & Docker Compose (obligatoire pour le développement)
Le projet doit être lancé via Docker Compose pour fonctionner correctement en développement (reverse proxy Nginx, BDD, etc.).
-
Configurer les variables d'environnement :
cp server/.env.example server/.env # Éditer server/.env avec vos valeurs -
Démarrer le développement :
npm run dev
-
Lancer les migrations :
npm run db:migrate
# Commande principale de développement (avec watch mode)
npm run devPoints d'accès :
- Frontend (via Nginx) : http://localhost:8080
- Backend (API) : http://localhost:8080/api
- Console MinIO : http://localhost:9001 (admin/password)
⚠️ Ce mode n'est à utiliser qu'en cas de besoin spécifique (débogage, développement isolé, etc.). L'accès au front ne se fera alors pas via Nginx.Il faudra tout de même lancer des bases de données pour pouvoir lancer le projet.
- Installe la bonne version de Node.js
nvm install nvm use
- Installe les dépendances à la racine (hooks, lint, etc.)
npm install
- Installe les dépendances du client et du serveur
cd client && npm install cd ../server && npm install
-
Lancer le serveur :
cd server npm run dev -
Lancer le client :
cd client npm run dev -
Accès (hors Nginx) :
- Frontend : http://localhost:5173
- Backend : http://localhost:3000
-
Démarrer le développement :
npm run dev
-
Logs des services :
npm run dev:logs
-
Redémarrage forcé :
npm run dev:build
-
Arrêter les services :
npm run dev:down
- Lint (racine, client, server) :
npm run lint npm run lint:fix
- Build client :
cd client npm run build - Build server :
cd server npm run build - Tests client :
cd client npm run test
-
Lancer les migrations :
npm run db:migrate
-
Seed la base de données :
npm run db:seed
-
Reset la base de données :
npm run db:reset
-
Fresh (reset puis seed) :
npm run db:fresh
-
Drizzle Studio :
npm run db:studio
-
Générer des migrations :
docker compose -f compose.dev.yml exec server npm run db:generate
L'application mobile est située dans client/my-app.
- Node.js et npm
- Android Studio (pour la plateforme Android)
- macOS & Xcode (pour la plateforme iOS)
- Capacitor CLI (global) :
npm install -g @capacitor/cli
cd client/my-app
npm install
npx cap sync-
Web (aperçu en développement) :
npm start
-
Android :
npx cap open android # Construire et lancer depuis Android Studio
ou directement :
npx cap run android -l --externalLe fichier
android/local.properties(chemin SDK) n'est pas versionné et est généré automatiquement.
- iOS :
ou directement :
npx cap open ios # Construire et lancer depuis Xcodenpx cap run ios -l --external
# Aller dans le dossier server
cd server
# Lancer tous les tests
npm test
# Lancer une catégorie spécifique
node --test tests/unit/
node --test tests/functional/
node --test tests/interface/
# Lancer un fichier spécifique
npx tsx --test tests/unit/password.test.ts# Aller dans le dossier client
cd client
# Lancer tous les tests
npx playwright testLien du Drive contenant les documents du projet : https://drive.google.com/drive/folders/1ZqHodTuhoczDxv4GG3eN2YHtUHpXcVXY