API Node.js/Express pour la gestion d'événements, d'inscriptions, de notifications et d'utilisateurs.
- Authentification JWT (organisateur, participant)
- Création, modification, suppression d'événements (avec upload d'image Cloudinary)
- Gestion des inscriptions aux événements
- Statistiques organisateur (ventes, participants, etc.)
- Notifications automatiques (email + in-app) pour les événements à venir
- Pagination, recherche, favoris
-
Cloner le repo
git clone <repo-url> cd EventManager/EventManagerApi
-
Installer les dépendances
npm install
-
Configurer les variables d'environnement Crée un fichier
.envà la racine avec :MONGO_URI=... JWT_SECRET=... CLOUDINARY_CLOUD_NAME=... CLOUDINARY_API_KEY=... CLOUDINARY_API_SECRET=... -
Lancer le serveur
npm run dev
Le serveur tourne sur http://localhost:5000
controllers/: logique métier (event, user, registration, notification, etc.)models/: schémas Mongoose (Event, User, Registration, Notification, etc.)routes/: routes Expressmiddlewares/: middlewares (auth, upload, rate-limiter)utils/: utilitaires (envoi d'email, notifications, etc.)config/: configuration (Cloudinary, DB)
Un cron job envoie chaque matin un rappel aux participants pour les événements du lendemain (email + notification in-app).
/api/auth: Authentification/api/user: Utilisateurs/api/event: Événements/api/registration: Inscriptions/api/notification: Notifications/api/stat: Statistiques
Les images sont stockées sur Cloudinary via multer.
- JWT pour l'authentification
- Rate limiter sur les routes sensibles