Logo Lanfrica

T-Wane/telima-backend

Domain:

mobility

Record type:

software
Creator:
T-W
Host:
Backend NestJS pour plateforme VTC/Livraison Telima (Mali) - Auth OTP, Trips, Dispatch, Pricing, WebSocket # Telima Backend Backend NestJS pour la plateforme VTC & Livraison Telima (Mali). ## Stack - **NestJS 10** + TypeScript - **Prisma 5** + PostgreSQL avec extension PostGIS - **Redis** (cache + adapter Socket.io) - **JWT** (access + refresh avec rotation) - **OTP 4 chiffres** (mock SMS en dev, Africa's Talking en prod) ## Prerequis - Node.js 20+ - Docker & Docker Compose ## Installation ```bash npm install cp .env.example .env ``` ## Demarrage local avec Docker ```bash docker compose up -d ``` Cela demarre : - **Postgres + PostGIS** sur le port 5432 - **Redis** sur le port 6379 - **API NestJS** sur le port 3000 ## Demarrage en dev (sans Docker pour l'API) ```bash docker compose up -d postgres redis npm run prisma:generate npm run prisma:migrate npm run prisma:seed npm run start:dev ``` ## Scripts | Script | Description | |---|---| | `npm run start:dev` | Demarrage en mode watch | | `npm run build` | Compilation TypeScript | | `npm run lint` | ESLint avec fix automatique | | `npm run prisma:generate` | Generation du client Prisma | | `npm run prisma:migrate` | Migration dev (cree + applique) | | `npm run prisma:seed` | Seed (vehicle types + admin) | | `npm run prisma:studio` | Prisma Studio (GUI DB) | | `npm test` | Tests unitaires (Jest) | ## Structure des modules ``` src/ app.module.ts # Module racine main.ts # Bootstrap (CORS, validation, static assets) config/ env.validation.ts # Validation des variables d'environnement prisma/ prisma.module.ts # Module global Prisma prisma.service.ts # Service Prisma (connect/disconnect) common/ decorators/ # @Public, @Roles, @CurrentUser guards/ # RolesGuard filters/ # HttpExceptionFilter (reponse JSON normalisee) interceptors/ # ResponseInterceptor ({ success, data }) modules/ auth/ # OTP, JWT, guards, strategy users/ # Profil utilisateur (GET/PATCH /users/me) drivers/ # Registration, upload, valida …