Skip to content

CineHall is a full-featured movie discovery and theatre-booking web application designed to revive the charm of vintage local theatres by giving them a modern online identity.

Notifications You must be signed in to change notification settings

mondrita/CineHall-Finder-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 CineHall: Preserving Cinema, Digitally

🎬 Demo Video

Watch the Demo

Developed by: Mondrita

CineHall is a full-featured movie discovery and theatre-booking web application designed to revive the charm of vintage local theatres by giving them a modern online identity. In Bangladesh and many parts of South Asia, classic theatres still rely solely on offline bookings. cineHall brings them into the digital era, combining movie exploration, theatre bookings, reviews, and friend interactions — all in one place.


🌱 Vision

Many heritage theatres are disappearing due to a lack of digital visibility (Ex. Gulistan and Naz cinema halls).
CineHall aims to bridge traditional cinema culture and digital convenience by:

  • Giving local theatres a shared online booking platform.
  • Allowing users to explore movies and book shows in a single interface.
  • Encouraging community engagement through reviews, ratings, and friend activity.
  • Making movie discovery personalized, accessible, and enjoyable.

✨ Features Overview

🎞️ Movie Discovery

  • Explore upcoming, trending, recommended, and top-rated films directly from TMDB API.
  • Apply filters by genre, rating, and release year range.
  • Search instantly across global titles.
  • Rich movie details page featuring:
    • Posters, cast, runtime, genres, and release info.
    • Embedded YouTube trailers (via YouTube API).
    • TMDB-based user reviews and ratings.
    • post your own reviews

👤 User Accounts

  • Sign up, log in, and reset password with a security question.
  • Customize preferences — genres, directors, actors, and years.
  • Automatically receive personalized movie recommendations.

💖 Wishlist

  • Save movies to your personal wishlist.
  • Remove them anytime with one click.
  • Syncs TMDB data (titles, posters, IDs).

🎟️ Bookings & Payments

  • Book tickets online (mock payment for demo).
  • Select theatre, date, time, and seats.
  • Store booking details in database.

🧾 Booking History & Refund

  • View all past bookings with movie posters.
  • Refunds allowed up to 3 days before the show.
  • Refund deletes the booking record and confirms via flash message.

𐀪𐀪 Friends Feature

  • Add or remove friends within the platform.
  • See what movies your friends have booked recently.
  • Encourage shared experiences and group bookings.

🏛️ Historic Theatres

  • Dedicated page highlighting vintage theatres (e.g., Balaka, Madhumita).
  • Users can explore available shows and support their revival.

🧰 Tech Stack

Layer Technology
Frontend HTML5, CSS3, JavaScript, Jinja2 Templates
Backend Python (Flask Framework)
Database SQLite (default) – Easily switchable to PostgreSQL/MySQL
APIs TMDB (movie data), YouTube Data API (trailers)
ORM SQLAlchemy
Session & Flash Flask built-ins
Architecture Modular Flask Blueprints (auth_bp, movies_bp, booking_bp, wishlist_bp)

🧩 Directory Structure

cineHall/
│
├── app/
│   ├── __init__.py
│   ├── models.py
│   ├── extensions.py
│   ├── routes/
│   │   ├── auth_routes.py
│   │   ├── movies_routes.py
│   │   ├── booking_routes.py
│   │   ├── wishlist_routes.py
│   │   └── friends_routes.py
│   ├── templates/          # (HTML templates)
│   └── static/             # (CSS, JS, images)
│
├── requirements.txt
├── .env.example
└── README.md

⚙️ Setup & Installation

1. Clone the repository

git clone https://github.com/<your-username>/cineHall.git
cd cineHall

2. Create a virtual environment

python -m venv venv
source venv/bin/activate     # On Windows: venv\Scripts\activate

3. Install dependencies

pip install -r requirements.txt

4. Configure environment variables

Create a .env file in the root directory:

FLASK_APP=app
FLASK_ENV=development
SECRET_KEY=your_secret_key_here

TMDB_API_KEY=your_tmdb_api_key
YOUTUBE_API_KEY=your_youtube_api_key

DATABASE_URL=sqlite:///cineHall.db

5. Initialize the database

from app import db, create_app
app = create_app()
with app.app_context():
    db.create_all()

6. Run the server

flask run

Visit: http://127.0.0.1:5000/


🗃️ Database Overview

  • User — account details and points
  • UserPreferences — saved interests (genre, actor, director, year)
  • RatingReview — user-submitted reviews
  • TicketSold — booking records and payments
  • TmdbWishlist — wishlist movies
  • Friendship — user connections (many-to-many)

🌍 APIs Used

  • The Movie Database (TMDB) — for film data, posters, genres, and filtering
  • YouTube Data API v3 — to fetch official trailers

🚀 Future Enhancements

  • Real payment gateway integration (Stripe/SSLCommerz).
  • Theatre admin panel for managing shows, pricing, and seats.
  • Email notifications and booking reminders.
  • Bangla–English bilingual support.
  • Cloud deployment on Render/Heroku.

👩‍💻 Developer

Mondrita
Focused on AI, Human–Computer Interaction, and usable systems.
Built CineHall from concept to completion.


CineHall: Preserving cinematic heritage, one booking at a time.

About

CineHall is a full-featured movie discovery and theatre-booking web application designed to revive the charm of vintage local theatres by giving them a modern online identity.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published