Skip to content

annattiwary12/Event-Ticket-Platform-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🎟️ Event Ticket Platform

A backend application for managing events and ticket purchases built with Spring Boot.

Users can browse events, purchase tickets, and validate tickets using QR codes.

This project demonstrates real-world backend architecture, REST API design, authentication, and ticket validation workflows.


🚀 Features

Event Management

Organizers (staff users) can:

  • Create events
  • Update event details
  • Delete events
  • Publish events
  • Search events
  • List available events

Each event contains:

  • Title
  • Description
  • Location
  • Event date
  • Ticket types
  • Pricing

Screenshot 2026-03-09 115617

Ticket Purchase System

Attendees can:

  • Browse events
  • Purchase tickets
  • Receive QR code tickets

Ticket purchase flow:

  1. User selects an event
  2. Selects ticket type
  3. Ticket is created in database
  4. QR code is generated
  5. Ticket is linked to the user

QR Code Ticket Validation

At the event venue:

  • Staff scans the QR code
  • System validates the ticket
  • Ticket status becomes VALIDATED

This prevents duplicate entry and ticket fraud. Screenshot 2026-03-09 115552


👥 User Roles

Attendee

Can:

  • View events
  • Purchase tickets
  • View purchased tickets
  • Access QR code

Staff

Can:

  • Create events
  • Manage events
  • Validate tickets

Screenshot 2026-02-19 000522

🏗 Architecture

Controller Layer

Service Layer

Repository Layer

Database

Controller
Handles REST API requests and responses.

Service
Contains business logic such as ticket purchasing and event validation.

Repository
Handles database interaction using Spring Data JPA.


🧱 Tech Stack

Backend

  • Java
  • Spring Boot
  • Spring Security
  • Spring Data JPA

Database

  • PostgreSQL

Authentication

  • Keycloak

Mapping

  • MapStruct

Other Tools

  • Docker
  • QR Code Generator

📡 API Endpoints

Create Event

POST /events

List Events

GET /events

Purchase Ticket

POST /tickets/purchase

Validate Ticket

POST /tickets/validate


⚙️ Project Setup

Requirements

  • Java 17+
  • PostgreSQL
  • Docker
  • Keycloak

Run the project

mvn spring-boot:run


🎯 Learning Outcomes

This project demonstrates:

  • Domain modeling
  • REST API design
  • Spring Security
  • OAuth authentication with Keycloak
  • DTO and MapStruct usage
  • Clean backend architecture
  • Ticket purchasing system
  • QR code ticket validation

👨‍💻 Author

Anant Tiwary

Backend Developer | Java | Spring Boot | PostgreSQL

GitHub: https://github.com/annattiwary12


⭐ Support

If you found this project helpful, please consider giving it a star ⭐ on GitHub.

It helps others discover the project and motivates further improvements.


📌 Note

This project was built for learning backend system design concepts including:

  • REST API development
  • Authentication and security
  • Database modeling
  • Ticket validation workflows
  • Real-world backend architecture

About

A full-stack Event Ticket Management Platform that allows organizers to create events, attendees to purchase tickets, and staff to validate tickets using QR codes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors