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

73 lines
2.4 KiB
Markdown

# 🏗️ 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)
```bash
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**
```bash
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