API REST de gestion de concerts, billetterie et utilisateurs. Stack principale: JAX-RS (Resteasy), Hibernate/JPA, HSQLDB, Swagger/OpenAPI, JWT.
- Fulbert SOSSA
- Eunice OYOTODE
- Auth JWT complete (
/api/auth/*) - Espace public home/recherche (
/api/*) - Espace customer (
/api/custom/*) - Back-office organizer (
/organise/*) - Admin/manage
- Gestion des ventes de tickets (quantite, reference, historique)
- Notifications internes (base + SSE)
- SMTP configure par fichier
smtp.properties(pour envoi mails - en cours sur branch alert)
Ces comptes sont crees automatiquement par DataInitializer (si base vide):
- Organizer:
- email:
organizer0@test.xyz - mot de passe:
password0
- email:
- Customer:
- email:
customer0@test.xyz - mot de passe:
password0
- email:
Voir le guide detaille: install.md
Windows:
.\run-all.batLinux/macOS:
chmod +x run-all.sh
./run-all.sh- API:
http://localhost:8080 - OpenAPI JSON:
http://localhost:8080/openapi.json - Swagger UI:
http://localhost:8080/api/docs
Login:
POST /api/auth/login
Header pour routes protegees:
Authorization: Bearer <token>Auth (/api/auth)
POST /loginPOST /registerPOST /logoutGET /meGET /me/role
Home public (/api)
GET /latestConcertsGET /incomingConcertsGET /searchGET /{id}(concert detail)GET /tickets/{id}(ticket detail)
Customer (/api/custom)
GET /profileGET /myticketsGET /my-purchasesGET /next-concertGET /tickets/{id}POST /buyticketGET /notification-preferencesPUT /notification-preferences
Organizer (/organise/concerts)
- CRUD concerts
GET /{id}/customersGET /upcomingGET /stats/dashboardGET /sales/meGET /sales/me/historyGET /sales/organizer/{organizerId}
Organizer tickets (/organise/tickets)
- CRUD tickets
GET /concert/{concertId}GET /stats/sales
Organizer artists (/organise/artists)
- CRUD + liaison artiste/concert
Notifications (/notifications)
- create/list/read/read-all
- stream SSE
Fichier a remplir:
EmailService lit d'abord les variables d'environnement SMTP_*, sinon smtp.properties.
mvn -DskipTests compile