- Refonte complete de l'inscription parent (Tickets #18 et #19 fusionnes) - Workflow CDC 6 etapes en 1 transaction atomique : * Etape 1 : Informations Parent 1 (obligatoire) * Etape 2 : Informations Parent 2 / Co-parent (optionnel) * Etape 3 : Enfants avec photos (au moins 1 requis) * Etape 4 : Presentation du dossier (optionnel) * Etape 5 : Acceptation CGU + Privacy (obligatoire) * Etape 6 : Recapitulatif -> VALIDATION Modifications techniques : - Nouveau DTO RegisterParentCompletDto (Parent1+Parent2+Enfants+Presentation+CGU) - Nouveau DTO EnfantInscriptionDto pour les enfants - Methode inscrireParentComplet() : transaction unique - Generation tokens creation MDP (Parent 1 + Parent 2) - Gestion photos enfants (base64 -> fichier) - Liens parents-enfants via table parents_children - Statut en_attente pour validation gestionnaire Tests : - Teste avec couple MARTIN + 3 triples (Emma, Noah, Lea) - 2 parents crees + 3 enfants lies Documentation : - Ajout 99_REGLES-CODAGE.md : Convention francais/anglais - Tickets Gitea mis a jour (#18 refonte, #19 ferme) Refs: #18, #19
P'titsPas API Backend ✨
Ce dépôt contient le code source de l'API backend pour la plateforme P'titsPas. L'API est construite avec NestJS et est responsable de toute la logique métier, de la gestion des données et de l'authentification des utilisateurs.
📚 Table des matières
- Technologies utilisées
- Prérequis
- Installation
- Lancement de l'application
- Scripts principaux
- Tests
- Gestion des migrations
- Documentation de l'API
🛠️ Technologies utilisées
- Framework: NestJS (TypeScript)
- Base de données: PostgreSQL
- ORM: TypeORM
- Authentification: JWT avec Passport.js
- Stockage Fichiers: MinIO (Compatible S3)
- Tâches Asynchrones: Redis avec BullMQ
- Conteneurisation: Docker
📋 Prérequis
Avant de commencer, assurez-vous d'avoir installé les outils suivants sur votre machine :
🚀 Installation
-
Clonez le dépôt :
git clone https://github.com/votre-username/ptitspas-backend.git cd ptitspas-backend -
Créez le fichier d'environnement : Copiez le fichier d'exemple
.env.exampleet renommez-le en.env. Ce fichier est ignoré par Git et contiendra vos secrets locaux.cp .env.example .env➡️ Important : Ouvrez le fichier
.envet remplissez les variables (identifiants de la base de données, secrets JWT, etc.). -
Installez les dépendances du projet :
npm install
▶️ Lancement de l'application
Méthode recommandée : avec Docker
Cette méthode lance l'ensemble des services nécessaires (API, base de données, MinIO, Redis) dans des conteneurs isolés.
docker-compose up --build
L'API sera accessible à l'adresse http://localhost:3000 (ou le port que vous avez configuré dans votre .env).
Méthode locale (pour le développement)
Cette méthode ne lance que le serveur NestJS. Assurez-vous que les autres services (PostgreSQL, Redis, etc.) sont déjà en cours d'exécution (par exemple, via Docker).
npm run start:dev
Le serveur redémarrera automatiquement à chaque modification de fichier.
⚙️ Scripts principaux
| Commande | Description |
|---|---|
npm run start:dev |
Lance le serveur en mode développement avec rechargement automatique. |
npm run build |
Compile le projet TypeScript en JavaScript. |
npm start |
Lance l'application depuis les fichiers compilés (mode production). |
npm run lint |
Analyse le code pour détecter les erreurs de style et de syntaxe. |
🧪 Tests
Pour lancer les tests, utilisez les commandes suivantes :
| Commande | Description |
|---|---|
npm test |
Lance les tests unitaires. |
npm run test:e2e |
Lance les tests de bout en bout (end-to-end). |
npm run test:cov |
Lance tous les tests et génère un rapport de couverture de code. |
🗄️ Gestion des migrations
La structure de la base de données est gérée par des fichiers de migration TypeORM.
-
Générer une nouvelle migration : Après avoir modifié une entité TypeORM, générez automatiquement le fichier de migration correspondant.
npm run migration:generate -- src/database/migrations/NomDeLaMigration -
Appliquer les migrations : Pour mettre à jour le schéma de votre base de données avec les nouvelles migrations.
npm run migration:run
📖 Documentation de l'API
Une fois l'application lancée, la documentation de l'API générée avec Swagger (OpenAPI) est disponible à l'adresse suivante :
➡️ http://localhost:3000/api-docs
Cette interface vous permet d'explorer et de tester toutes les routes de l'API directement depuis votre navigateur.
Excellente idée. C'est un élément crucial qui définit les droits et les devoirs liés à votre code.
En me basant sur la section 10.5 Propriété intellectuelle et licence de l’application de votre cahier des charges, j'ai rédigé une section "Licence" qui reflète précisément le statut propriétaire de votre projet.
Voici le README.md complet et mis à jour.
📜 Licence
Ce projet est distribué sous une licence propriétaire.
Le code source, la marque "P'titsPas" et la documentation associée sont la propriété exclusive de l'éditeur, Julien MARTIN.
Toute reproduction, distribution, modification ou utilisation du code source est strictement interdite sans un accord écrit préalable de l'auteur. Les clients et partenaires autorisés disposent d'une licence d'utilisation non-exclusive et non-transférable, conformément aux termes de leur contrat.
Pour toute question relative à l'utilisation ou à l'acquisition d'une licence, veuillez contacter l'auteur.