🚀 A robust ticketing system that integrates real-time updates with a user-friendly interface!
This project combines Angular for the frontend, Spring Boot for the backend, and MySQL for data persistence, showcasing seamless communication between components.
🔗 Intro Video: Watch Here
✅ Real-Time Interface – Displays live ticket availability and status updates.
✅ Interactive Control Panel – Start, stop, configure, and reset system functionalities with ease.
✅ Error Handling – User-friendly notifications for invalid entries and system statuses.
✅ Producer-Consumer Pattern – Multi-threaded backend efficiently managing ticket transactions.
✅ Concurrency Management – Uses ReentrantLock for synchronized access to shared resources, preventing race conditions.
✅ Object-Oriented Design – Modular and reusable components following SOLID principles.
✅ Dynamic Management – Add or remove vendors/customers dynamically via the GUI.
✅ Persistence – Securely stores transaction data in MySQL for analytics and tracking.
✅ Analytics Dashboard – Visualizes ticket sales and trends over time.
- Frontend: Angular with real-time updates powered by WebSockets.
- Backend: Spring Boot for multi-threaded processing and API management.
- Database: MySQL for efficient data storage and retrieval.
🚀 Advanced Synchronization – Leveraged ReentrantLock and condition variables to prevent deadlocks.
🎯 OOP Principles – Designed structured, maintainable, and scalable code.
📊 Analytics & Insights – Integrated data visualization for tracking sales performance.
1️⃣ Clone the GitHub repo
git clone git@github.com:dileepapeiris/Real-Time-Ticketing-System.git2️⃣ Navigate to the project folder
cd real-time-ticketing-system3️⃣ Install dependencies
npm install # For frontend
mvn install # For backend4️⃣ Run the project
npm start # Start Angular frontend
mvn spring-boot:run # Start Spring Boot backend- Concurrent Programming
- Object-Oriented Programming (OOP)
- Spring Boot
- Angular
- MySQL
- Java & TypeScript
💖 Like my work? Let's connect!
🔗 LinkedIn: Dileepa Peiris









