petitspas/docs/02_ARCHITECTURE.md
Julien Martin a5dae7a017 docs: Workflow création de compte + refonte documentation
- Ajout Cahier des Charges v1.3
- Ajout Workflow technique création de compte (v1.0)
- Réorganisation docs avec préfixes numériques (00_, 01_, etc.)
- Ajout données de test CSV
- Modifications principales :
  * Champ téléphone unique (suppression mobile/fixe)
  * Inscription sans mot de passe (Parents + AM)
  * Création MDP par email après validation (7j)
  * Genre enfant obligatoire (H/F)
  * Date agrément obligatoire pour AM
2025-11-25 00:28:35 +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