How soltani-labs/eventpulse-gateway-security works
EventPulse is a set of services for user authentication, event discovery and booking, with notification handling and gateway security. The principal workflow is a user booking an event: the event API delegates booking logic, which checks event availability, saves the booking, and attempts a notification. Authentication provides signup/login and JWTs; the gateway has JWT-filtering code. The README gives only the project name, and service routing/configuration was not sampled, so cross-service routing links are omitted or marked unverified.
Main entry points: BookingService.java Booking workflow · AuthService.java Auth workflows · EventController.java Event endpoints · UserRepository.java User repository
Components 20
Gateway security
- API gateway
api-gateway/src/main/java/com/eventpulse/apigateway/security/JwtAuthenticationFilter.java - JWT utilities
api-gateway/src/main/java/com/eventpulse/apigateway/security/JwtUtil.java
Identity
- Auth endpoints
auth-service/src/main/java/com/eventpulse/authservice/controller/AuthController.java - Auth workflows
auth-service/src/main/java/com/eventpulse/authservice/service/AuthService.java - User records
auth-service/src/main/java/com/eventpulse/authservice/entity/User.java - User repository
auth-service/src/main/java/com/eventpulse/authservice/repository/UserRepository.java - User lookup
auth-service/src/main/java/com/eventpulse/authservice/security/CustomUserDetailsService.java - JWT issuance
auth-service/src/main/java/com/eventpulse/authservice/security/JwtService.java
Events and bookings
- Event endpoints
event-service/src/main/java/com/eventpulse/eventservice/controller/EventController.java - Event management
event-service/src/main/java/com/eventpulse/eventservice/service/EventService.java - Booking workflow
event-service/src/main/java/com/eventpulse/eventservice/service/BookingService.java - Event repository
event-service/src/main/java/com/eventpulse/eventservice/repository/EventRepository.java - Booking repository
event-service/src/main/java/com/eventpulse/eventservice/repository/BookingRepository.java - Event and booking records
event-service/src/main/java/com/eventpulse/eventservice/entity/Event.java - Booking records
event-service/src/main/java/com/eventpulse/eventservice/entity/Booking.java
Notifications
- Notification client
event-service/src/main/java/com/eventpulse/eventservice/client/NotificationClient.java - Notification endpoints
notification-service/src/main/java/com/eventpulse/notificationservice/controller/NotificationController.java - Notification handling
notification-service/src/main/java/com/eventpulse/notificationservice/service/NotificationService.java - Notification records
notification-service/src/main/java/com/eventpulse/notificationservice/entity/Notification.java
Other components
- User
Connections 20
- User → API gateway: sends requests
- API gateway → JWT utilities: uses
api-gateway/src/main/java/com/eventpulse/apigateway/security/JwtAuthenticationFilter.java - User → Auth endpoints: authenticates
auth-service/src/main/java/com/eventpulse/authservice/controller/AuthController.java - Auth endpoints → Auth workflows: delegates to
auth-service/src/main/java/com/eventpulse/authservice/controller/AuthController.java - Auth workflows → User repository: checks and saves
auth-service/src/main/java/com/eventpulse/authservice/service/AuthService.java - Auth workflows → JWT issuance: issues token
auth-service/src/main/java/com/eventpulse/authservice/service/AuthService.java - User repository → User records: persists
auth-service/src/main/java/com/eventpulse/authservice/repository/UserRepository.java - User lookup → User repository: looks up user
auth-service/src/main/java/com/eventpulse/authservice/security/CustomUserDetailsService.java - User → Event endpoints: requests event action
event-service/src/main/java/com/eventpulse/eventservice/controller/EventController.java - Event endpoints → Event management: delegates event calls
event-service/src/main/java/com/eventpulse/eventservice/controller/EventController.java - Event endpoints → Booking workflow: delegates booking
event-service/src/main/java/com/eventpulse/eventservice/controller/EventController.java - Event management → Event repository: reads and saves
event-service/src/main/java/com/eventpulse/eventservice/service/EventService.java - Booking workflow → Event repository: checks and updates
event-service/src/main/java/com/eventpulse/eventservice/service/BookingService.java - Booking workflow → Booking repository: checks and saves
event-service/src/main/java/com/eventpulse/eventservice/service/BookingService.java - Event repository → Event and booking records: persists
event-service/src/main/java/com/eventpulse/eventservice/repository/EventRepository.java - Booking repository → Booking records: persists
event-service/src/main/java/com/eventpulse/eventservice/repository/BookingRepository.java - Booking workflow → Notification client: sends notification
event-service/src/main/java/com/eventpulse/eventservice/service/BookingService.java - Notification client → Notification endpoints: submits notification
- Notification endpoints → Notification handling: delegates to
notification-service/src/main/java/com/eventpulse/notificationservice/controller/NotificationController.java - Notification handling → Notification records: creates and stores
notification-service/src/main/java/com/eventpulse/notificationservice/service/NotificationService.java