Database: MongoDB
Backend: Spring Boot
Frontend: ReactJS
- User Registration and Login: Attendees can register for a new account and log in using secure credentials. Provide secure access to ticketing features. The system supports different user roles,
including attendees and administrators.
- Event Listing: A comprehensive list of upcoming events is available for users to browse. Event details include date, time, venue, and available ticket options.
- Seat Selection: Users can interactively select and reserve specific seats for events. The system provides an intuitive seat map for venue visualization.
- Payment Processing: Secure payment transactions are handled seamlessly within the platform. Various payment methods are supported for user convenience.
- Digital Ticket Delivery: Digital tickets containing event details are generated for users. Tickets are delivered electronically, offering ease of access via email or mobile apps.
Create a .env file under src/main/resources/.env with the structure as shown in .env.example. This will setup the necessary environment variables and the project can be run.
- Create new user
API: POST /api/signup
(Note 1: 2 types of users- user, admin. Signup only allows creation of new user type. Note 2: Password has been encrypted using BCryptPasswordEncoder) - Login
API: POST /api/login
(Note: There is no separate login for user and admin. API returns a field identifying admin)
- Display all events details
API: GET /api/events - Display one event details
API: GET /api/events/{eventId} - Create new event
API: POST /api/events/createEvent
(Note: create a new event creates predefined number of seats for the event.) - Update existing event
API: PUT /api/events/updateEvent/{eventId} - Delete existing event
API: DELETE /api/remove/{eventId}
(Note: create, update, delete can be done only by admin)
- Get seat details of an event
API: GET /api/seats/{eventId} - Get seat details of an event and particular seat
API: GET /api/seats/{eventId}/{seatId}