51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
# 🐐 Memegoat - Roadmap & Critères de Production
|
|
|
|
Ce document définit les objectifs, les critères techniques et les fonctionnalités à atteindre pour que le projet Memegoat soit considéré comme prêt pour la production et conforme aux normes européennes (RGPD) et françaises.
|
|
|
|
## 1. 🏗️ Architecture & Infrastructure
|
|
- [x] Backend NestJS (TypeScript)
|
|
- [x] Base de données PostgreSQL avec Drizzle ORM
|
|
- [x] Stockage d'objets compatible S3 (MinIO)
|
|
- [x] Service d'Emailing (Nodemailer / SMTPS)
|
|
- [x] Documentation Technique & Référence API (`docs.memegoat.fr`)
|
|
- [x] Health Checks (`/health`)
|
|
- [x] Gestion des variables d'environnement (Validation avec Zod)
|
|
- [ ] CI/CD (Build, Lint, Test, Deploy)
|
|
|
|
## 2. 🔐 Sécurité & Authentification
|
|
- [x] Hachage des mots de passe (Argon2id)
|
|
- [x] Gestion des sessions robuste (JWT avec Refresh Token et Rotation)
|
|
- [x] RBAC (Role Based Access Control) fonctionnel
|
|
- [x] Système de Clés API (Hachées en base)
|
|
- [x] Double Authentification (2FA / TOTP)
|
|
- [x] Limitation de débit (Rate Limiting / Throttler)
|
|
- [x] Validation stricte des entrées (DTOs + ValidationPipe)
|
|
- [x] Protection contre les vulnérabilités OWASP (Helmet, CORS)
|
|
|
|
## 3. ⚖️ Conformité RGPD (EU & France)
|
|
- [x] Chiffrement natif des données personnelles (PII) via PGP (pgcrypto)
|
|
- [x] Hachage aveugle (Blind Indexing) pour l'email (recherche/unicité)
|
|
- [x] Journalisation d'audit complète (Audit Logs) pour les actions sensibles
|
|
- [x] Gestion du consentement (Versionnage CGU/Politique de Confidentialité)
|
|
- [x] Droit à l'effacement : Flux de suppression (Soft Delete -> Purge définitive)
|
|
- [x] Droit à la portabilité : Export des données utilisateur (JSON)
|
|
- [x] Purge automatique des données obsolètes (Signalements, Sessions expirées)
|
|
- [x] Anonymisation des adresses IP (Hachage) dans les logs
|
|
|
|
## 4. 🖼️ Fonctionnalités Coeur (Media & Galerie)
|
|
- [x] Exploration (Trends, Recent, Favoris)
|
|
- [x] Recherche par Tags, Catégories, Auteur, Texte
|
|
- [x] Gestion des Favoris
|
|
- [x] Upload sécurisé via S3 (URLs présignées)
|
|
- [x] Scan Antivirus (ClamAV) et traitement des médias (WebP, WebM, AVIF, AV1)
|
|
- [x] Limitation de la taille et des formats de fichiers entrants (Configurable)
|
|
- [x] Système de Signalement (Reports) et workflow de modération
|
|
- [ ] SEO : Metatags dynamiques et slugs sémantiques
|
|
|
|
## 5. ✅ Qualité & Robustesse
|
|
- [ ] Couverture de tests unitaires (Jest) > 80%
|
|
- [ ] Tests d'intégration et E2E
|
|
- [x] Gestion centralisée des erreurs (Filters NestJS)
|
|
- [ ] Monitoring et centralisation des logs (ex: Sentry, ELK/Loki)
|
|
- [x] Performance : Cache (Redis) pour les tendances et recherches fréquentes
|