← Exercices BD09

🔷 Mini-projet BD09

API réseau social avec Prisma — follows, feed, soft delete

🎯 Objectif

Créer une API REST de réseau social avec Prisma 5 et PostgreSQL : système de follows, feed personnalisé, soft delete, et middleware d'audit.

Durée estimée : 4–5 heures

📋 Endpoints

POST /users/:id/follow        — suivre un utilisateur
DELETE /users/:id/follow      — ne plus suivre
GET  /feed                    — posts des follows (paginé)
POST /posts                   — créer un post ($transaction)
PUT  /posts/:id               — modifier (ownership check)
DELETE /posts/:id             — soft delete (deletedAt)
POST /posts/:id/like          — toggle like
GET  /posts/search?q=         — full-text ($queryRaw)
GET  /admin/audit             — journal des modifications

🗺️ Étapes

1. Schema Prisma (User self-ref, Post soft-delete, Like unique)
2. Middleware soft delete + audit log
3. Routes follow/unfollow avec $transaction
4. Feed paginé avec cursor-based pagination
5. Search full-text avec $queryRaw
6. Tests avec Jest + mock PrismaClient

✅ Critères de validation