Skip to content

kri1105/CineAura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CineAura 🎬

A Comprehensive Theater Ticket and Food Management System


Overview

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.


Features

🎟 Ticket Booking

  • 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.

🍿 Food & Beverage Integration

  • Options: Popcorn and Sandwich.
  • Discounts for premium users:
    • Gold ticket: 10% off on food
    • Max ticket: 5% off on food

🕒 Booking Cancellation

  • Easy cancellations up to 30 minutes before showtime.

📋 Waitlist Management

  • Users can join a waitlist if seats are sold out.
  • Canceled tickets are reassigned to waitlisted users on a first-come, first-serve basis.

Technology Stack

  • Backend: Flask (Python)
  • Database: SQLite
  • Frontend: HTML, CSS (extendable for future features)

Installation

  1. Clone the repository:

    git clone https://github.com/nishant-sheoran/CineAura.git
    cd CineAura
  2. Create a virtual environment and activate it:

    python -m venv venv
    source venv/bin/activate  # For Linux/MacOS
    venv\Scripts\activate     # For Windows
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the application:

    flask run
  5. Open the application in your browser:

    http://127.0.0.1:5000/
    

Usage

Booking a Ticket

  • Select a theater, movie, and ticket category (Gold/Max/General).
  • Optionally, add food items (Popcorn/Sandwich).
  • Confirm your booking and view the summary.

Canceling a Booking

  • Cancel your booking up to 30 minutes before showtime.

Waitlist

  • If the screen is sold out, join the waitlist (available until 30 minutes before showtime).
  • Tickets are reassigned to waitlisted users automatically upon cancellations.

Database Schema

The application uses SQLite for managing data. Below is a simplified schema:

Tables

  1. Theaters

    • id: Primary key
    • theater: Name of the theater
    • movie: Name of the movie
    • screen: Name of the screen
    • food_items: Name of the food items
    • total_price: Final price of the booking
    • booking_time: Time of booking
    • seat_number: Seat Number
    • booking_id: Booking ID
    • cancelled: Option to cancel the ticket
  2. Seat Availability

    • id: Primary key
    • theater: Name of the theater
    • screen: Screen type (Gold, Max, General)
    • total_seats: Total seats available
    • booked_seats: Total booked seats
  3. Waitlist

    • id: Primary key
    • theater: Name of the theater
    • movie: Name of the movie
    • screen: Name of the screen
    • screen_id: Foreign key linking to a screen
    • join_time: Time of booking

Future Enhancements

  • 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.

Contributing

We welcome contributions to improve CineAura!

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Added a new feature"
  4. Push to your branch:
    git push origin feature-name
  5. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.


Contact

For questions or feedback, reach out at:
Nishant Sheoran
GitHub: nishant-sheoran
Krithi
GitHub: kri1105


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages