A Comprehensive Theater Ticket and Food Management System
CineAura is a Flask-based web application that simplifies ticket booking and food management for a nationwide moving theater company. The system supports seamless booking, automatic seat allocation, food order integration, and waitlist handling, offering a smooth experience for both customers and theater operators.
- Multi-screen support:
- Gold: ₹400/ticket (2 seats/screen)
- Max: ₹300/ticket (5 seats/screen)
- General: ₹200/ticket (10 seats/screen)
- Automatic seat allocation based on availability.
- Options: Popcorn and Sandwich.
- Discounts for premium users:
- Gold ticket: 10% off on food
- Max ticket: 5% off on food
- Easy cancellations up to 30 minutes before showtime.
- Users can join a waitlist if seats are sold out.
- Canceled tickets are reassigned to waitlisted users on a first-come, first-serve basis.
- Backend: Flask (Python)
- Database: SQLite
- Frontend: HTML, CSS (extendable for future features)
-
Clone the repository:
git clone https://github.com/nishant-sheoran/CineAura.git cd CineAura
-
Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # For Linux/MacOS venv\Scripts\activate # For Windows
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
flask run
-
Open the application in your browser:
http://127.0.0.1:5000/
- Select a theater, movie, and ticket category (Gold/Max/General).
- Optionally, add food items (Popcorn/Sandwich).
- Confirm your booking and view the summary.
- Cancel your booking up to 30 minutes before showtime.
- If the screen is sold out, join the waitlist (available until 30 minutes before showtime).
- Tickets are reassigned to waitlisted users automatically upon cancellations.
The application uses SQLite for managing data. Below is a simplified schema:
-
Theaters
id
: Primary keyname
: Name of the theaterlocation
: City/State
-
Screens
id
: Primary keytheater_id
: Foreign key linking to a theatertype
: Screen type (Gold, Max, General)seats
: Total seats available
-
Bookings
id
: Primary keyuser_name
: Name of the userscreen_id
: Foreign key linking to a screenmovie_name
: Name of the movieshow_time
: Showtime of the moviefood_items
: List of food items ordered (if any)status
: Booking status (Confirmed/Cancelled)
-
Waitlist
id
: Primary keyscreen_id
: Foreign key linking to a screenuser_name
: Name of the userposition
: Queue position
- User Authentication: Implement login and # features.
- Online Payments: Integrate payment gateways.
- Dynamic #: Adjust ticket prices based on demand and availability.
- Reporting: Add admin dashboards for sales and performance tracking.
We welcome contributions to improve CineAura!
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Added a new feature"
- Push to your branch:
git push origin feature-name
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or feedback, reach out at:
Nishant Sheoran
GitHub: nishant-sheoran
Krithi
GitHub: kri1105