How braxon2/koncerto works
KonCerto is an event-discovery and ticketing application with a React frontend and Spring backend. Users browse events, inspect ticket types, purchase tickets, and access their profile and ticket records; organizers can create events and manage ticket inventory. Backend services handle authentication, event rules and image storage, ticket issuance, and downloadable PDF/QR tickets. The source excerpts show service-level calls, but not frontend API wiring or Spring controller bodies, so those connections are not asserted; unsampled repository behavior is represented only where documented by the source index.
Main entry points: EventService.java Event service · TicketService.java Ticket service · App.jsx Routes and shell · AuthenticationService.java Authentication service
Components 29
Web application
- Routes and shell
frontend/src/App.jsx - Auth state
frontend/src/context/AuthContext.jsx - Event pages
frontend/src/pages/EventDetailsPage .jsx - Event discovery
frontend/src/pages/Home.jsx - Event creation
frontend/src/pages/CreateEventPage.jsx - Profile and tickets
frontend/src/pages/ProfilePage.jsx
Identity and access
- Authentication API
backend/src/main/java/com/dusan/koncerto/auth/AuthenticationController.java - Authentication service
backend/src/main/java/com/dusan/koncerto/auth/AuthenticationService.java - JWT service
backend/src/main/java/com/dusan/koncerto/config/JwtService.java - User account
backend/src/main/java/com/dusan/koncerto/model/User.java
Event management
- Event API
backend/src/main/java/com/dusan/koncerto/controllers/EventController.java - Event service
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Event record
backend/src/main/java/com/dusan/koncerto/model/Event.java - Event request data
backend/src/main/java/com/dusan/koncerto/dto/request/EventRequestDTO.java - Ticket-type request
backend/src/main/java/com/dusan/koncerto/dto/request/EventTicketRequestDTO.java
Ticketing
- Ticket API
backend/src/main/java/com/dusan/koncerto/controllers/TicketController.java - Ticket service
backend/src/main/java/com/dusan/koncerto/service/TicketService.java - Ticket type
backend/src/main/java/com/dusan/koncerto/model/EventTicket.java - Issued ticket
backend/src/main/java/com/dusan/koncerto/model/Ticket.java - PDF and QR generator
backend/src/main/java/com/dusan/koncerto/service/PdfGeneratorService.java - User API
backend/src/main/java/com/dusan/koncerto/controllers/UserController.java - User and ticket views
backend/src/main/java/com/dusan/koncerto/service/UserService.java
Persistence and media
- User repository
backend/src/main/java/com/dusan/koncerto/repository/UserRepository.java - Event repository
backend/src/main/java/com/dusan/koncerto/repository/EventRepository.java - Ticket-type repository
backend/src/main/java/com/dusan/koncerto/repository/EventTicketRepository.java - Ticket repository
backend/src/main/java/com/dusan/koncerto/repository/TicketRepository.java - S3 image storage
backend/src/main/java/com/dusan/koncerto/service/S3Service.java
Other components
- Attendee / organizer
- AWS S3
Connections 30
- Attendee / organizer → Routes and shell: uses
- Routes and shell → Event discovery: routes to
frontend/src/App.jsx - Routes and shell → Event pages: routes to
frontend/src/App.jsx - Routes and shell → Event creation: routes to
frontend/src/App.jsx - Routes and shell → Profile and tickets: routes to
frontend/src/App.jsx - Event pages → Auth state: reads auth
frontend/src/pages/EventDetailsPage .jsx - Profile and tickets → Auth state: reads auth
frontend/src/pages/ProfilePage.jsx - Authentication API → Authentication service: delegates to
backend/src/main/java/com/dusan/koncerto/auth/AuthenticationController.java - Authentication service → User repository: reads and saves
backend/src/main/java/com/dusan/koncerto/auth/AuthenticationService.java - Authentication service → JWT service: generates token
backend/src/main/java/com/dusan/koncerto/auth/AuthenticationService.java - Authentication service → User account: creates account
backend/src/main/java/com/dusan/koncerto/auth/AuthenticationService.java - Event API → Event service: delegates to
backend/src/main/java/com/dusan/koncerto/controllers/EventController.java - Event API → Ticket service: delegates to
backend/src/main/java/com/dusan/koncerto/controllers/EventController.java - Event service → Event repository: reads and saves
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Event service → Ticket-type repository: reads and saves
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Event service → S3 image storage: uploads images
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Event service → Event record: builds event
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Event service → Event request data: maps request
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Event service → Ticket-type request: maps request
backend/src/main/java/com/dusan/koncerto/service/EventService.java - Ticket API → Ticket service: delegates to
backend/src/main/java/com/dusan/koncerto/controllers/TicketController.java - Ticket service → Ticket repository: reads and saves
backend/src/main/java/com/dusan/koncerto/service/TicketService.java - Ticket service → Ticket-type repository: reads and updates
backend/src/main/java/com/dusan/koncerto/service/TicketService.java - Ticket service → User repository: looks up buyer
backend/src/main/java/com/dusan/koncerto/service/TicketService.java - Ticket service → PDF and QR generator: generates PDF
backend/src/main/java/com/dusan/koncerto/service/TicketService.java - Ticket service → Issued ticket: issues tickets
backend/src/main/java/com/dusan/koncerto/service/TicketService.java - PDF and QR generator → Event record: reads event details
backend/src/main/java/com/dusan/koncerto/service/PdfGeneratorService.java - PDF and QR generator → Issued ticket: renders ticket data
backend/src/main/java/com/dusan/koncerto/service/PdfGeneratorService.java - User API → User and ticket views: delegates to
backend/src/main/java/com/dusan/koncerto/controllers/UserController.java - User and ticket views → User repository: loads user
backend/src/main/java/com/dusan/koncerto/service/UserService.java - S3 image storage → AWS S3: stores files