petitspas/backend/README.md
Julien Martin 33d6e7b0c3 feat: Intégration du backend NestJS depuis YNOV
- Framework: NestJS avec TypeORM
- Authentification: JWT (access + refresh tokens)
- Gestion utilisateurs: CRUD complet avec validation
- Routes: auth, users, parents, assistantes maternelles
- Dockerfile pour conteneurisation
2025-11-24 15:44:07 +01:00

5.7 KiB
Raw Permalink Blame History

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

Avant de commencer, assurez-vous d'avoir installé les outils suivants sur votre machine :


🚀 Installation

  1. Clonez le dépôt :

    git clone https://github.com/votre-username/ptitspas-backend.git
    cd ptitspas-backend
    
  2. Créez le fichier d'environnement : Copiez le fichier d'exemple .env.example et renommez-le en .env. Ce fichier est ignoré par Git et contiendra vos secrets locaux.

    cp .env.example .env
    

    ➡️ Important : Ouvrez le fichier .env et remplissez les variables (identifiants de la base de données, secrets JWT, etc.).

  3. 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.

  1. 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
    
  2. 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 lapplication 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.