MCA - 24711214 PROJECT PROPOSAL
PROJECT PROGRESS DESCRIPTION
Project Abstract
The “Optimized Event Ticketing System” project aims to develop a high-performance, data-structure-driven
solution for managing ticket bookings for large-scale events. This system focuses on fairness, efficiency, and
scalability using core concepts from data structures and algorithms, implemented in the C programming
language.
The primary objective is to prioritize early users and ensure optimized seat allocation, even during periods of
high demand. The project leverages a Min-Heap to store active bookings based on booking timestamps,
ensuring that earlier users are prioritized regardless of when their data is accessed. When all available seats
are occupied, the system moves users into a queue-based waitlist, preserving their order of request using a
First-In-First-Out (FIFO) strategy.
Additionally, a Hash Table is used for constant-time user lookup, allowing fast and efficient cancellations and
verifications. The system also implements a dynamic pricing model, increasing ticket prices by 5% each day,
simulating real-world event pricing trends.
The command-line interface (CLI) allows users to book, cancel, and view bookings easily. Each module has
been implemented with memory-efficient structures and modular design, paving the way for further
enhancements like graph-based event maps and tree-based booking history. This simulation mirrors real-
world ticketing challenges and solves them using computational logic, making it a practical and academic-level
project.
Future upgrades include persistent storage using file I/O, venue routing using graphs, and sorted history using
trees, thereby enriching the system’s real-world applicability. The project showcases strong command over
algorithmic problem-solving and the use of complex data structures in real-time systems.
Updated Project Approach and Architecture
The project is implemented in the C programming language using a structured and modular approach. The core
of the system is built around the concept of data structure-driven efficiency and priority handling.
The following data structures are currently used:
Min-Heap: For priority-based ticket booking. Bookings with the earliest timestamp are processed first.
Queue: For handling waitlisted users in a FIFO manner.
Hash Table: To allow fast lookup, cancellation, and tracking of users via their User IDs.
All user inputs and operations are handled via a menu-driven command-line interface (CLI). The system
maintains available seat tracking, dynamic pricing with a 5% daily increase, and automatic reallocation from
the waitlist when a cancellation occurs. Currently, the project operates entirely in memory without persistent
storage, with plans to add file handling and graph/tree structures in the next phase.
Page 2
MCA - 24711214 PROJECT PROPOSAL
Testing and Validation Status
Test Type Status (Pass/Fail) Notes
Booking with available seats Pass Seats allocated, price calculated correctly
Booking when full (waitlist) Pass Added to waitlist
Cancellation and reallocation Pass Cancelled booking frees seat and reallocates
Hash table search by user ID Pass Lookup works instantly
Day-wise price simulation Pass Price increases daily by 5%
Deliverables Progress
Deliverable Status
Booking and cancellation system Completed
Min-Heap based priority system Completed
Queue-based waitlist Completed
Hash table user lookup Completed
CLI menu Completed
File I/O for persistence In Progress
Event map using Graph Pending
Booking history tree (BST) Pending
Final documentation and diagrams In Progress
Page 5