- Frontend: Flutter web (app.ptits-pas.fr) - Backend: NestJS API (app.ptits-pas.fr/api) - Database: PostgreSQL 17 + PgAdmin (app.ptits-pas.fr/pgadmin) - Réseau: ptitspas_network + proxy_network (Traefik) - Documentation architecture et déploiement
2.4 KiB
2.4 KiB
🏗️ Architecture du projet P'tits Pas
📁 Structure du projet
Ce projet est organisé en 3 dépôts Git distincts :
ptitspas-frontend: Application Flutter (interface utilisateur)ptitspas-backend: API NestJS (serveur backend)ptitspas-database: Configuration PostgreSQL et migrations
🌍 Deux environnements supportés
🚀 Environnement de production (serveur)
- Localisation :
/home/ynov/project/sur le serveur - Configuration :
docker-compose.yml+.env - Domaine :
https://ynov.ptits-pas.fr - Reverse proxy : Traefik avec SSL automatique
- Gestion : Déploiement automatique via webhooks Gitea
💻 Environnement de développement (local)
- Configuration :
docker-compose.dev.yml+.env.exampledans chaque dépôt - Accès : Ports locaux (3000, 8000, 8080, 5432)
- Hot reload : Modifications de code prises en compte instantanément
- Base locale : PostgreSQL indépendante avec PgAdmin
🏃♂️ Guide de démarrage développeur
1. Backend (à démarrer en premier)
git clone <url-backend>
cd ptitspas-backend
cp .env.example .env
docker compose -f docker-compose.dev.yml up -d
Accès : http://localhost:3000/api
2. Frontend
git clone <url-frontend>
cd ptitspas-frontend
cp .env.example .env
docker compose -f docker-compose.dev.yml up -d
Accès : http://localhost:8000
3. PgAdmin (inclus avec le backend)
Accès : http://localhost:8080
- Email : admin@localhost
- Mot de passe : admin123
🔄 Workflow de développement
- Développer localement avec les
docker-compose.dev.yml - Tester les modifications sur http://localhost:8000
- Commiter et pousser dans les dépôts respectifs
- Déploiement automatique sur le serveur via webhooks
🗂️ Fichiers de configuration
| Fichier | Usage | Localisation |
|---|---|---|
docker-compose.yml |
Production (serveur) | /home/ynov/project/ |
docker-compose.dev.yml |
Développement (local) | Chaque dépôt |
.env |
Variables production | Serveur uniquement |
.env.example |
Template développement | Chaque dépôt |
🔒 Sécurité
- ✅ Fichiers
.envnon versionnés (ajoutés au.gitignore) - ✅ Variables sensibles externalisées
- ✅ Configurations séparées dev/prod
- ✅ SSL automatique en production via Let's Encrypt