Julien Martin eb1583b35b feat(backend): API admin configuration avec test SMTP (#6)
Implémentation de l'API REST pour la gestion de la configuration
système par les administrateurs.

Nouveaux fichiers :
- modules/config/config.controller.ts : Controller REST
- modules/config/dto/update-config.dto.ts : DTO mise à jour
- modules/config/dto/test-smtp.dto.ts : DTO test SMTP

Endpoints créés :
 GET /api/v1/configuration/setup/status
   → Vérifier si la configuration initiale est terminée

 POST /api/v1/configuration/setup/complete
   → Marquer la configuration comme terminée

 POST /api/v1/configuration/test-smtp
   → Tester la connexion SMTP + envoi email de test

 PATCH /api/v1/configuration/bulk
   → Mise à jour multiple des configurations

 GET /api/v1/configuration
   → Récupérer toutes les configurations (admin)

 GET /api/v1/configuration/:category
   → Récupérer par catégorie (email/app/security)

Fonctionnalités :
- Validation des données avec class-validator
- Test SMTP avec Nodemailer
- Envoi d'email de test HTML
- Gestion d'erreurs complète
- Rechargement automatique du cache
- Traçabilité des modifications

Sécurité :
- Guards commentés (à activer avec JWT)
- Validation des catégories
- Mots de passe masqués dans les réponses

Dépendances ajoutées :
- nodemailer ^6.9.16
- @types/nodemailer ^6.4.16

Tests effectués :
 GET /setup/status → {setupCompleted: false}
 GET /email → 8 configurations email
 Build Docker réussi
 Toutes les routes mappées correctement

Ref: #6
2025-11-28 17:00:55 +01:00

P'titsPas

Plateforme de gestion de la garde d'enfants pour les collectivités locales.

Workflow de développement

Le projet suit un workflow simple :

  • develop : branche principale de développement
  • main : branche des versions stables

Processus de release

  1. Développement sur la branche develop
  2. Tests et validation
  3. Merge vers main avec tag de version
  4. Mise à jour du CHANGELOG.md

Charte graphique

  • Nom : P'titsPas
  • Couleurs principales :
    • Bleu : #2B6CB0 (inspiré du logo)
    • Blanc : #FFFFFF
    • Gris clair : #F7FAFC
  • Typographie :
    • Titres : Google Fonts "Comfortaa"
    • Corps : Google Fonts "Roboto"

Prérequis

Backend

  • Node.js (version 18 ou supérieure)
  • PostgreSQL (version 15 ou supérieure)
  • npm (version 9 ou supérieure)

Frontend

  • Flutter SDK (version 3.0 ou supérieure)
  • Dart SDK (version 3.0 ou supérieure)
  • Chrome (pour le développement web)

Installation

  1. Cloner le dépôt :
git clone [URL_DU_REPO]
cd ptitspas
git checkout develop
  1. Installer le backend :
cd backend
npm install
  1. Installer le frontend :
cd ../frontend
flutter pub get
  1. Configurer la base de données :
# Créer la base de données
createdb ptitspas

# Configurer les variables d'environnement
cp .env.example .env
# Éditer le fichier .env avec vos paramètres de base de données

Démarrage

  1. Démarrer le backend :
cd backend
npm run dev
  1. Démarrer le frontend :
cd frontend
flutter run -d chrome

Accès aux services

Structure du projet

ptitspas/
├── backend/           # API Node.js/Express
│   ├── src/          # Code source
│   ├── prisma/       # Configuration de la base de données
│   └── tests/        # Tests
├── frontend/         # Application Flutter
│   ├── lib/          # Code source
│   ├── assets/       # Images, polices, etc.
│   └── test/         # Tests
├── CHANGELOG.md      # Historique des versions
└── README.md         # Documentation

Développement

Backend

  • Langage : TypeScript
  • Framework : Express
  • Base de données : PostgreSQL avec Prisma
  • API : REST avec OpenAPI 3

Frontend

  • Framework : Flutter
  • État : Provider
  • Navigation : Go Router
  • UI : Material Design avec thème personnalisé

Tests

# Backend
cd backend
npm test

# Frontend
cd frontend
flutter test

Licence

Propriétaire - Tous droits réservés

Description
No description provided
Readme 93 MiB
Languages
Dart 57.9%
TypeScript 32.7%
C++ 4%
CMake 2.1%
PLpgSQL 1.9%
Other 1.4%