# đ Memegoat
Memegoat est une plateforme moderne de partage et de création de mÚmes, conçue avec une architecture robuste et sécurisée.
_Ce dĂ©pĂŽt est en cours de dĂ©veloppement. Nous intĂ©grons actuellement les fonctionnalitĂ©s clĂ©s dans le monorepo. Il n'est pas encore totalement prĂȘt pour un dĂ©ploiement auto-hĂ©bergĂ© simplifiĂ©, mais vous pouvez le lancer localement._
## Qu'est-ce que Memegoat ?
[Memegoat](https://memegoat.fr) est votre destination ultime pour découvrir, créer et partager les meilleurs mÚmes du web. Notre plateforme se concentre sur la performance, la sécurité des données et une expérience utilisateur fluide.
Retrouvez notre documentation complĂšte sur : [docs.memegoat.fr](https://docs.memegoat.fr)
## Architecture & Stack Technique
Le projet est structuré en monorepo :
- **Frontend** : Next.js avec Tailwind CSS et Shadcn/ui.
- **Backend** : NestJS (TypeScript) avec PostgreSQL.
- **Base de données** : Drizzle ORM avec chiffrement natif PGP pour les données sensibles.
- **Infrastructure** : Docker, Caddy (Reverse Proxy & TLS), stockage compatible S3.
## Documentation Rapide
Pour approfondir vos connaissances techniques sur le projet :
- **[ModÚle de Données](https://docs.memegoat.fr/docs/database)** : MCD, MLD et MPD.
- **[Sécurité](https://docs.memegoat.fr/docs/security)** : Chiffrement PGP, Argon2id, RBAC.
- **[Conformité RGPD](https://docs.memegoat.fr/docs/compliance)** : Mesures techniques et droits des utilisateurs.
- **[API & Intégrations](https://docs.memegoat.fr/docs/api)** : Authentification par sessions, clés API et 2FA.
## Comment l'utiliser ?
### Installation locale
1. Clonez le dépÎt.
2. Installez les dépendances avec `pnpm install`.
3. Configurez les variables d'environnement (voir `.env.example`).
4. Lancez les services via Docker ou manuellement.
### Clés API
Pour utiliser l'API, vous pouvez générer des clés API sécurisées directement depuis votre profil sur [memegoat.fr](https://memegoat.fr).
## Fonctionnalités Clés
- **Sécurité Avancée** : Chiffrement des données personnelles au repos et hachage aveugle pour la recherche.
- **RGPD by Design** : Mécanismes de Soft Delete, purge automatique et hachage des IPs.
- **Multi-Authentification** : Support des sessions JWT, des clés API et de la double authentification (2FA).
- **Gestion de Contenu** : Support des mĂšmes et GIFs avec systĂšme de tags et signalements.
- **Traitement Médias Sécurisé** : Scan antivirus (ClamAV) systématique et transcodage haute performance (WebP, WebM, AVIF, AV1).
## Contribution
Les contributions sont les bienvenues ! Veuillez consulter notre guide de contribution avant de soumettre une pull request.
## Licence
Ce projet est principalement sous licence **GNU Affero General Public License v3.0 (AGPL-3.0)**. Certains composants, comme les SDKs, peuvent ĂȘtre sous licence MIT. Veuillez vous rĂ©fĂ©rer aux fichiers `LICENSE` dans les rĂ©pertoires respectifs pour plus de dĂ©tails.
â Retour en haut â