Built with Laravel, Tailwind CSS, and Blade UI
Developed solo in 8 days as a 2nd semester term-end project at Aptech.
MovieBox is a fully functional movie ticket booking system built using Laravel 12. It allows users to browse currently showing and top-rated movies, watch trailers, read and post reviews, and book movie tickets — all through a responsive, user-friendly interface.
This project was developed as a 2nd semester term-end project at Aptech and built entirely by one person within just 8 days. It demonstrates full-stack capability, including admin management, role-based access control, database design, and clean UI components.
- 🎬 Movie Browse with posters, categories, and ratings
- 🎞 Trailer preview and short descriptions
- ⭐ Community reviews with ratings
- 🧾 Ticket booking with multiple class pricing (Silver, Gold, Platinum)
- 🧒 Discounted pricing for kids (3–12 years)
- 📱 Responsive and mobile-friendly design using Tailwind CSS
- 🔐 User authentication (Laravel Auth) and protected routes
- 📊 Admin dashboard with total revenue, user, movie, and show stats
- 🎛 Admin controls for adding/updating/deleting movies and shows
- 🧾 Booking list with quantities, dates, and total pricing
- Framework: Laravel 12 (MVC architecture)
- Frontend: Blade Templating, Tailwind CSS
- UI Libraries: ShadCN-inspired components, BadtzUI, PrismUI
- Database: MySQL using Eloquent ORM
- Authentication: Laravel built-in Auth + Middleware
- Deployment: Vite + Artisan + PHP server
moviebox/
app/
Http/Controllers/
→MovieController
,ShowController
,BookingController
, etc.Models/
→Movie
,Show
,Booking
,User
,Review
resources/views/
→ All Blade templatesroutes/web.php
→ App routesdatabase/migrations/
→ Table structures for movies, shows, bookings, etc.database/factories/
→ Model factories for test datadatabase/seeders/
→ Seed classes for users, movies, shows, etc.public/posters/
→ Uploaded movie posters.env
→ Environment-specific variables
Follow the steps below to set up and run MovieBox on your local machine.
-
Clone the repository and navigate to the project directory:
git clone https://github.com/HimeshDua/MovieBox.git cd MovieBox
-
Install dependencies:
composer install npm install
-
Set up the
.env
file and generate the application key:cp .env.example .env php artisan key:generate
Next, open the
.env
file and update theDB_
variables with your MySQL database credentials. -
Run migrations and seed the database: This command will create the necessary database tables and populate them with sample data.
php artisan migrate --seed
-
Start the local development server: Run these two commands in separate terminal windows to serve both the back-end and front-end assets.
php artisan serve npm run dev
Visit
http://127.0.0.1:8000
in your browser to view the application.
- Solo-built in just 8 days.
- Developed as a final project for Aptech's 2nd semester.
- Full CRUD (Create, Read, Update, Delete) functionality for movies and shows.
- Clean database schema and Eloquent relationships.
- No external UI kits—fully customized Tailwind CSS components.
- Light/dark mode compatible using CSS variables.
The database is structured with the following key tables:
users
: Stores user information (id, name, email, password, role, created_at).movies
: Contains details about each movie (id, title, description, year, poster, trailer_url, category, language, rating, duration).shows
: Links movies to showtimes and locations (id, movie_id, city, location, show_date, show_time, price_silver, price_gold, price_platinum).bookings
: Records ticket bookings (user_id, show_id, class_type, quantity, is_kid, total_price).reviews
: Manages user reviews and ratings for movies (user_id, movie_id, comment, rating, created_at).
- 💳 Payment gateway integration (e.g., Stripe, JazzCash)
- 🪑 Seat selection layout
- 📧 Email ticket confirmations
- 🗺 Multi-city theatre map support
- 📱 PWA or mobile app companion
Himesh Dua
17 y/o Full Stack Developer from Karachi, Pakistan
- Portfolio: himeshdua.vercel.app
- GitHub: @himeshdua
- Email: himeshdua22@gmail.com
This project is open-sourced under the MIT license.