# 🏗️ 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 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 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