Moonlight Cinema is a cinema reservation web application built as a portfolio project for demonstrating full-stack web development, database integration, responsive UI, reservation workflows, email ticket delivery, admin management features, and cloud deployment.
The application allows users to browse movies, view movie details, select available screening times, choose seats, create reservations, receive an email ticket with a QR code, view their tickets, and cancel reservations. The project also includes an admin side for managing cinema data such as movies, screenings, halls, seats, reservations, pricing, and statistics.
Note: This is a demo/portfolio application. It does not use real payment processing.
Email: admin@moonlightcinema.ba
Password: Admin123!
Email: user@moonlightcinema.local
Password: User1234!
This project was developed by:
- Sulejman Zekotic – backend development, database integration, reservation logic, Azure deployment, project configuration, documentation
- Amina Ahmić – frontend UI, responsive design, testing, screenshots, documentation, feature planning
- Browse available movies
- View movie details
- View available screening times
- Select seats through an interactive seat picker
- Create a reservation
- Receive an email ticket with a QR code
- View existing tickets
- Cancel reservations
- Responsive design for desktop and mobile devices
- Admin dashboard
- Manage movies
- Manage screenings
- Manage halls and seats
- View and manage reservations
- Configure pricing
- View reservation statistics and charts
- Control cinema-related data through the admin interface
- PHP
- JavaScript
- HTML
- CSS
- SQLite / MySQL
- Composer
- Azure App Service
- GitHub
moonlight-cinema/
├── docs/
│ └── screenshots/
│ └── app/
├── setup/
├── src/
│ └── wp-content/
├── .gitignore
├── LICENSE
└── README.md
Before running the project locally, make sure you have installed:
- PHP
- Composer
- Git
- SQLite or MySQL
git clone https://github.com/aminaahmic/moonlight-cinemaa.git
cd moonlight-cinemaaIf the project contains a composer.json file, install dependencies with:
composer installThe application can be configured to use SQLite or MySQL.
For local development, SQLite is the easiest option.
Example SQLite configuration:
MC_DB_DRIVER=sqlite
MC_DB_SQLITE_PATH=storage/database.sqlite
For MySQL, configure these values instead:
MC_DB_DRIVER=mysql
MC_DB_HOST=localhost
MC_DB_PORT=3306
MC_DB_NAME=moonlight_cinema
MC_DB_USER=root
MC_DB_PASS=your_password
Database credentials and production secrets should be stored as environment variables and should not be committed to the repository.
Email ticket delivery requires SMTP configuration.
Example mail configuration:
MC_MAIL_FROM=your-email@example.com
MC_MAIL_FROM_NAME=Moonlight Cinema
MC_MAIL_REPLY_TO=your-email@example.com
MC_MAIL_TRANSPORT=smtp
MC_SMTP_HOST=smtp.example.com
MC_SMTP_PORT=587
MC_SMTP_USER=your_smtp_username
MC_SMTP_PASS=your_smtp_password
MC_SMTP_SECURE=tls
For local testing, email sending can be configured with a test SMTP provider such as Mailtrap.
Start the local PHP development server:
php -S localhost:8000Open the app in your browser:
http://localhost:8000
The application is deployed on Azure App Service.
The deployment setup includes configuration for:
- PHP hosting
- Application routing
- Environment variables
- Database configuration
- Mail configuration
- Session storage
- Production deployment setup
Additional project documentation and assets:
docs/screenshots/app/- Application screenshots used in the READMEsetup/- Setup or deployment-related filessrc/wp-content/- Main WordPress/PHP application content
Sensitive configuration values such as database credentials, SMTP passwords, API keys, and environment variables should not be committed to the repository.
The repository should not include:
.envfiles- Real database files with user data
- SMTP credentials
- API keys
- Production secrets
- Private logs
This project is completed as a portfolio/internship project.
It demonstrates:
- Full-stack web application development
- PHP backend structure
- Database-driven reservation system
- Interactive frontend functionality
- Responsive UI design
- Email ticket workflow
- QR ticket concept
- Admin management features
- Azure cloud deployment
- Git and GitHub project organization
- Sulejman Zekotic
- Amina Ahmić
This project is available for portfolio and educational purposes.










