Skip to content

About

Created college project of java programing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

E-Ticketing-system

🚆 E-Ticketing System

A modern E-Ticketing System built using:

  • Frontend: HTML, CSS, JavaScript
  • Backend: Java Spring Boot
  • Database: MySQL
  • Payment Gateway: Razorpay (Test Mode)

📌 Project Features

✅ Passenger Registration
✅ Journey Booking
✅ Ticket Summary Page
✅ CAPTCHA Verification
✅ Razorpay Payment Gateway
✅ Test Payment Bypass Button
✅ Download Ticket PDF
✅ QR Code Ticket Validation
✅ Responsive Modern UI


🛠 Tech Stack

Technology Usage
HTML Frontend Structure
CSS Styling
JavaScript Frontend Logic
Java Spring Boot Backend APIs
MySQL Database
Razorpay Payment Gateway
iTextPDF PDF Ticket Generation
ZXing QR Code Generation

📁 Project Structure

e-ticketing-system/
│
├── frontend/
│
└── backend/

🌐 Frontend Pages

Page Purpose
index.html Passenger Details Form
summary.html Booking Summary + CAPTCHA
payment.html Payment Gateway
ticket.html Final Downloadable Ticket

☕ Backend

Backend is developed using:

  • Java 17
  • Spring Boot 4.0.6
  • Maven

🚀 Setup Spring Boot Project

Step 1 — Open Spring Initializr

Open:

https://start.spring.io/


Step 2 — Select Project Settings

Field Value
Project Maven
Language Java
Spring Boot 4.0.6
Group com.eticket
Artifact backend
Name backend
Packaging Jar
Java 17

Step 3 — Add Dependencies

Add these dependencies:

  • Spring Web
  • Spring Data JPA
  • MySQL Driver
  • Lombok
  • Spring Boot DevTools

Step 4 — Generate Project

Click:

GENERATE

ZIP file will download.


Step 5 — Extract Project

Extract into:

e-ticketing-system/backend

▶️ Run Backend Project

Open terminal inside backend folder:

mvn spring-boot:run

Backend will run on:

http://localhost:8080

📦 Recommended Software

Software Purpose
VS Code Code Editor
MySQL Workbench Database Management
Postman API Testing
Git Version Control

📌 Next Development Steps

Upcoming implementation:

  • Database Configuration
  • Entity Models
  • REST APIs
  • Razorpay Integration
  • PDF Generation
  • QR Code Generation
  • Frontend Backend Connection
  • Ticket Validation

👨‍💻 Developer Notes

This project uses:

  • Razorpay TEST APIs
  • Test Payment Bypass Button
  • Modular Spring Boot Architecture
  • Responsive UI Design

E-Ticketing System

A full-stack E-Ticketing System built using:

  • Spring Boot
  • MySQL
  • HTML
  • CSS
  • JavaScript
  • Razorpay Payment Gateway
  • QR Code Verification
  • PDF Ticket Generation

Features

  • Online ticket booking
  • Seat selection system
  • QR code verification
  • Razorpay payment integration
  • PDF ticket download
  • Ticket cancellation
  • Admin dashboard
  • Real-time seat booking validation
  • Ticket verification system

Project Structure

E-Ticketing-System/
│
├── backend/
│   ├── src/
│   ├── pom.xml
│   └── mvnw.cmd
│
├── frontend/
│   ├── index.html
│   ├── payment.html
│   ├── summary.html
│   ├── ticket.html
│   ├── verify-ticket.html
│   ├── css/
│   └── js/
│
└── README.md

Requirements

Install the following before running the project:

1. Java JDK

Recommended:

Java 21+

Check installation:

java -version

2. Maven

Check installation:

mvn -version

OR use Maven Wrapper:

./mvnw.cmd

3. MySQL

Install MySQL Server.

Recommended:

MySQL 8+

4. VS Code

Recommended Extensions:

  • Extension Pack for Java
  • Live Server
  • Spring Boot Extension Pack

Backend Setup

Step 1 — Open Backend Folder

cd backend

Step 2 — Create Database

Open MySQL Workbench and run:

CREATE DATABASE eticketdb;

Step 3 — Configure application.properties

Open:

backend/src/main/resources/application.properties

Update:

spring.application.name=backend

# DATABASE
spring.datasource.url=jdbc:mysql://localhost:3306/eticketdb
spring.datasource.username=root
spring.datasource.password=YOUR_PASSWORD

# JPA
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

# SERVER
server.port=8080

# RAZORPAY
razorpay.key=YOUR_RAZORPAY_TEST_KEY
razorpay.secret=YOUR_RAZORPAY_SECRET

Step 4 — Run Backend

Windows:

.\mvnw.cmd spring-boot:run

Mac/Linux:

./mvnw spring-boot:run

Step 5 — Verify Backend

Open browser:

http://localhost:8080/api/tickets

Expected:

[]

Frontend Setup

Step 1 — Open Frontend Folder

cd frontend

Step 2 — Run Frontend

Option 1:

Use VS Code Live Server.

OR

Option 2:

Open:

index.html

in browser.


Complete Booking Flow

index.html
↓
seat-selection.html
↓
summary.html
↓
payment.html
↓
ticket.html
↓
verify-ticket.html

Razorpay Test Payment

Use test card:

Card Number: 4111 1111 1111 1111
Expiry: Any future date
CVV: 123
OTP: 1234

OR use:

Test Bypass Payment

for development/demo.


API Endpoints

Ticket APIs

Method Endpoint Description
GET /api/tickets Get all tickets
POST /api/tickets Create ticket
GET /api/tickets/{id} Get ticket by ID
PUT /api/tickets/{id}/cancel Cancel ticket
GET /api/tickets/{id}/download Download PDF
GET /api/tickets/verify/{ticketNumber} Verify ticket

Technologies Used

Frontend

  • HTML5
  • CSS3
  • JavaScript

Backend

  • Spring Boot
  • Spring Data JPA
  • Hibernate
  • MySQL

Other

  • Razorpay
  • iText PDF
  • QR Code API

Screenshots

Add screenshots here:

  • Home Page
  • Seat Selection
  • Payment Page
  • Ticket Page
  • Verification Page
  • Admin Dashboard

Future Improvements

  • Email ticket system
  • Live QR scanner
  • User authentication
  • Online refund system
  • Mobile app support
  • Cloud deployment

Author

Abhishek Pandey

GitHub:

https://github.com/Abhishekpandey123-git

📄 License

This project is for educational and development purposes.

About

Created college project of java programing

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages