Logo Lanfrica

Mareme20/saas-senegal-back

Domaine:

socioeconomicdigital infrastructure

Type de record:

software
Créateur:
Mar
HĂ´te:
# 🇸🇳 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 …