petitspas/README-ARCHITECTURE.md
Julien Martin ad81a2f4f4 feat: Configuration Docker Compose à 3 services
- 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
2025-11-24 15:44:58 +01:00

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.example dans 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

  1. Développer localement avec les docker-compose.dev.yml
  2. Tester les modifications sur http://localhost:8000
  3. Commiter et pousser dans les dépôts respectifs
  4. 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 .env non versionnés (ajoutés au .gitignore)
  • Variables sensibles externalisées
  • Configurations séparées dev/prod
  • SSL automatique en production via Let's Encrypt