API NestJS avec MongoDB, upload d'images via Supabase Storage et evenements realtime via Socket.IO.
- Node.js 20+
- MongoDB Atlas
- Supabase project
npm install
cp .env.example .envSous PowerShell (Windows), utilisez:
Copy-Item .env.example .envConfigurez .env avec vos credentials Supabase et MongoDB Atlas.
Variables attendues:
DATABASE_URLSUPABASE_URLSUPABASE_ANON_KEYPORT(optionnel, default3001)SUPABASE_BUCKET(optionnel, defaultobjects)
npm run buildnpm run start:dev- UI:
http://localhost:3001/api/docs - Le schema OpenAPI documente les routes
objects, les payloads multipart et les erreurs courantes.
GET /-> status simple JSONPOST /objects-> cree un objet (multipart/form-data:title,description,image)GET /objects-> liste des objets tries parcreatedAtdescendantGET /objects/:id-> details d'un objetDELETE /objects/:id-> supprime l'objet et son image de Supabase Storage
Connexion Socket.IO sur le meme host/port:
object_createdobject_deleted
Les images sont stockees dans Supabase Storage (bucket objects par defaut, configurable via SUPABASE_BUCKET) et accessibles via des URLs publiques Supabase.
src/objects/objects.module.ts- Feature modulesrc/objects/objects.controller.ts- HTTP routessrc/objects/objects.service.ts- Business logicsrc/objects/objects.schema.ts- MongoDB schema (Mongoose)src/objects/objects.gateway.ts- WebSocket eventssrc/objects/file-storage.service.ts- Supabase Storage integrationsrc/objects/dto/create-object.dto.ts- Input validation