API REST construite avec Express + Sequelize pour gérer un bot Discord avec plusieurs modules :
Salons personnalisés, système de niveaux, logs de modération, statistiques de membres, et intégration The Division 2.
- Node.js >= 18
- MySQL (ou SQLite pour les tests)
npm installCopiez .env.example et renommez-le en .env :
cp .env.example .envModifiez les variables nécessaires (JWT_SECRET, DISCORD_CLIENT_ID, etc.)
npm run dev| Dossier | Rôle |
|---|---|
controllers/ |
Logique métier (handlers d'API) |
models/ |
Modèles Sequelize (relations, entités BDD) |
routes/ |
Routes Express (REST API) |
middlewares/ |
Middleware d'authentification, gestion d’erreurs... |
cron/ |
Tâches récurrentes (ex : snapshot membres) |
tests/ |
Tests unitaires et d’intégration |
- Système OAuth2 avec Discord
- JWT (AccessToken & RefreshToken)
- Cookie HTTPOnly sécurisé pour le refresh
- Salons personnalisés (
log,welcome,goodbye,announcement) - Niveaux XP : classement, top 10, reset, upsert
- Modération : logs des actions (
ban,mute,kick,warn) - Statistiques : membres par jour avec historique
- The Division 2 : activités, incursions, blacklist, configuration
npm testAccessible à :
👉 http://localhost:3000/api-docs
- Pagination des résultats
- Gestion des rôles Discord (mod/admin)
- Webhooks pour interactions temps réel
- Stats avancées côté utilisateur
Made with ❤️ by admins, for admins.