# 🇸🇳 SaaS PME/TPE Sénégal — Backend API Complet
API REST Node.js/Express/TypeScript — Plateforme de gestion tout-en-un pour les PME/TPE sénégalaises.
## 🏗 Stack technique
| Technologie | Usage |
|---|---|
| Node.js 20+ / TypeScript | Runtime + typage |
| Express.js | Framework HTTP |
| TypeORM + PostgreSQL | Base de données |
| Redis | Cache + sessions |
| Socket.io | Temps réel (WebSocket) |
| PDFKit | Génération factures PDF |
| Africa's Talking | SMS |
| WhatsApp Business API | WhatsApp |
| Nodemailer | Emails |
| Wave API | Paiement Wave |
| Orange Money API | Paiement Orange |
| node-cron | Tâches planifiées |
| Zod | Validation |
| Pino | Logs |
---
## 🚀 Démarrage rapide
```bash
# 1. Installer les dépendances
npm install
# 2. Configurer l'environnement
cp .env.example .env
# Éditer .env (DATABASE_URL, JWT_SECRET au minimum)
# 3. Lancer PostgreSQL + Redis
docker-compose up -d
# 4. Créer les tables (auto en développement via synchronize: true)
# En production : npm run db:migration:run
# 5. Données de démonstration
npm run db:seed
# 6. Démarrer
npm run dev #
localhost
# 7. Documentation API
# Swagger UI:
localhost
# OpenAPI YAML:
localhost
```
---
## đź§± Architecture Clean (mise Ă jour)
Le backend est organisé avec séparation claire des responsabilités :
- `src/dtos/` : validation et contrats d'entrée/sortie (Zod + types inférés)
- `src/repositories/interfaces/` : contrats métier d'accès aux données
- `src/repositories/implementations/` : implémentations TypeORM
- `src/services/` : logique métier (les services dépendent des interfaces repository)
- `src/routes/` : orchestration HTTP uniquement (parse DTO + appel service + réponse)
Documentation API:
- `docs/API_DOCUMENTATION.md` (vue rapide)
- `docs/openapi.yaml` (spec OpenAPI 3.0)
- Swagger UI: `
localhost`
- OpenAPI servi par l'app: `
localhost`
---
## 📚 Swagger …