How sugamsingh02/event-management-system works
This is a Spring-based event management API for attendees, organizers, and administrators. The main attendee workflow is to discover events, register for an approved event, then obtain and manage a ticket. Organizers create and maintain events; administrators review pending events and manage users and registrations. Services enforce domain rules and coordinate JPA repositories, while JWT authentication protects requests. The tree and sampled code support the event, registration, ticket, profile, authentication, and notification branches; unsampled controllers and services are represented only at their enclosing source paths.
Main entry points: RegistrationService.java Registration service · EventService.java Event service · repository JPA database · TicketService.java Ticket service
Components 24
Identity and access
- Authentication API
src/main/java/com/eventmanagment/controller/AuthController.java - Authentication service
src/main/java/com/eventmanagment/service/AuthService.java - JWT service
src/main/java/com/eventmanagment/security/JwtService.java - JWT request security
src/main/java/com/eventmanagment/security
Event lifecycle
- Event API
src/main/java/com/eventmanagment/controller/EventController.java - Event review API
src/main/java/com/eventmanagment/controller/AdminEventController.java - Event service
src/main/java/com/eventmanagment/service/EventService.java - Event repository
src/main/java/com/eventmanagment/repository/EventRepository.java
Registration and tickets
- Registration API
src/main/java/com/eventmanagment/controller/RegistrationController.java - Registration service
src/main/java/com/eventmanagment/service/RegistrationService.java - Registration repository
src/main/java/com/eventmanagment/repository/RegistrationRepository.java - Ticket API
src/main/java/com/eventmanagment/controller/TicketController.java - Ticket service
src/main/java/com/eventmanagment/service/TicketService.java - Ticket repository
src/main/java/com/eventmanagment/repository/TicketRepository.java
Accounts and notifications
- User profile API
src/main/java/com/eventmanagment/controller/UserController.java - Administration API
src/main/java/com/eventmanagment/controller/AdminController.java - User service
src/main/java/com/eventmanagment/service/UserService.java - User repository
src/main/java/com/eventmanagment/repository/UserRepository.java - Notifications API
src/main/java/com/eventmanagment/controller/NotificationController.java - Notification service
src/main/java/com/eventmanagment/service/NotificationService.java - Notification repository
src/main/java/com/eventmanagment/repository/NotificationRepository.java
Other components
- API caller
- Domain entities
src/main/java/com/eventmanagment/entity - JPA database
src/main/java/com/eventmanagment/repository
Connections 38
- API caller → Authentication API: authenticates
- Authentication API → Authentication service: delegates
- Authentication service → User repository: checks and saves
- Authentication service → JWT service: issues token
- API caller → JWT request security: sends token
- JWT request security → JWT service: validates token
- API caller → Event API: browses and manages
- Event API → Event service: delegates
- Event service → Event repository: queries and persists
- API caller → Event review API: reviews events
- Event review API → Event service: delegates
- API caller → Registration API: registers
- Registration API → Registration service: delegates
- Registration service → Event repository: checks event
- Registration service → User repository: checks attendee
- Registration service → Registration repository: saves and queries
- API caller → Ticket API: manages tickets
- Ticket API → Ticket service: delegates
- Ticket service → Registration repository: loads registration
- Ticket service → Ticket repository: checks and persists
- API caller → User profile API: manages profile
- User profile API → User service: delegates
- User service → User repository: reads and updates
- API caller → Administration API: administers system
- Administration API → User service: delegates user tasks
- API caller → Notifications API: views notifications
- Notifications API → Notification service: delegates
- Notification service → Notification repository: reads and persists
- Event service → Notification service: notifies organizer
- Event repository → JPA database: persists events
- Registration repository → JPA database: persists registrations
- Ticket repository → JPA database: persists tickets
- User repository → JPA database: persists users
- Notification repository → JPA database: persists notifications
- Event service → Domain entities: uses event model
- Registration service → Domain entities: uses registration model
- Ticket service → Domain entities: uses ticket model
- User service → Domain entities: uses user model