A PHP/MySQL cinema web application with user accounts, movie listings, bookings, reviews, admin pages, and Stripe test checkout support.
- PHP (WAMP/local Apache)
- MySQL / MariaDB
- Composer packages:
stripe/stripe-phpendroid/qr-codechillerlan/php-qrcode
- Bootstrap 5
- User registration/login/logout
- Movie listing + movie detail pages
- Booking flow + user bookings
- Account management
- Reviews (create/edit/delete + like/dislike)
- Admin pages for movies/users/bookings
- Stripe test-mode checkout integration
.
cinema
├───img
├───includes
├───logs
├───phpqrcode
│ ├───bindings
│ │ └───tcpdf
│ ├───cache
│ │ ├───mask_0
│ │ ├───mask_1
│ │ ├───mask_2
│ │ ├───mask_3
│ │ ├───mask_4
│ │ ├───mask_5
│ │ ├───mask_6
│ │ └───mask_7
│ └───tools
├───scss
├───sql
└───uploads
- Start WAMP and ensure services are green.
- Create database
cinema_dbin phpMyAdmin. - Import
setup_database.sql. - Copy
.env.exampleto.envand update values:
DB_HOST=localhost
DB_USER=root
DB_PASS=
DB_NAME=cinema_db
STRIPE_PUBLISHABLE_KEY=pk_test_your_key
STRIPE_SECRET_KEY=sk_test_your_key
OMDB_API_KEY=your_omdb_api_key_here
TMDB_API_KEY=your_tmdb_key_here- Install dependencies:
composer install
npm install- Open in browser:
http://localhost/cinema/home.php
- Email:
[email protected] - Password:
admin123
Change this in production/public deployment.
- Never commit
.env(only keep.env.examplein git) - Use Stripe test keys only in development
- Remove/rotate any credentials if they were ever committed
QUICK_START.mdDEPLOYMENT_GUIDE.mdSECURITY_UPGRADE_SUMMARY.mdSTRIPE_SETUP.md
Educational project (HNC coursework). Add a LICENSE file if you want open-source reuse permissions.











