Welcome to Cinemax! A feature-rich online movie ticket booking system built using the MERN stack, designed to provide a seamless booking experience for users.
- Niladri Chakraborty
- Deep Adhikary
- Prasam Kundu
- Kaustabh Basu
Cinemax is an intuitive and efficient online movie ticket booking platform, designed for single halls. Users can browse currently available movies, select their preferred showtimes, choose seats, and book tickets effortlessly. This repository contains the full-stack implementation of the system, including both frontend and backend code.
- User authentication and authorization with Google OAuth(2.0)
- Movie listings with search
- Showtimes and screen selection
- Interactive seat selection with real-time availability updates
- Secure payment integration with Razorpay
- Booking history and QR e-ticket generation
- Admin panel for managing movies, screens, and bookings
- Seat Layout editor for screens in Admin panel
- Responsive design for both mobile and desktop
- MongoDB: NoSQL database for storing movie, user, and booking data
- Express.js: Backend framework for handling API requests
- React: Frontend library for creating a dynamic UI
- Node.js: JavaScript runtime for the backend
- Redux: State management for efficient data handling
- React Router: Routing library for seamless navigation
- Material UI: Utility-first CSS framework for responsive design
- Razorpay: Secure payment processing
To get started with Cinemax, follow these steps:
-
Clone the repository:
git clone https://github.com/axon04/Cinemax.git cd cinemax -
Install backend dependencies:
cd backend npm install -
Set up environment variables: Create a
.envfile in thebackenddirectory and add these:PORT=5000 MONGODB_URI=<your_mongodb_connection_string> JWT_SECRET=<your_jwt_secret> JWT_EXPIRE=1w GOOGLE_CLIENT_ID=<your_google_client_id> GOOGLE_CLIENT_SECRET=<your_google_client_secret> RAZORPAY_API_KEY=<your_razorpay_key_id> RAZORPAY_API_SECRET=<your_razorpay_key_secret> RAZORPAY_MERCHANT_ID=<your_razorpay_merchant_id>
-
Start the backend server:
npm start
The backend will run on http://localhost:5000.
-
Navigate to the frontend directory:
cd ../frontend -
Install frontend dependencies:
npm install
-
Set up environment variables: Create a
.envfile in thefrontenddirectory and add these:VITE_API_URL=http://localhost:5000 VITE_GOOGLE_CLIENT_ID=<your_google_client_id> VITE_RAZORPAY_API_KEY=<your_razorpay_key_id> -
Start the frontend server:
npm run dev
The application will be available at http://localhost:5173.
Once the development servers are running, users can:
- Browse movies and showtimes
- Select seats and make bookings
- View booking history and download e-tickets
- Admins can manage movies, theaters, and bookings via the admin panel
We welcome contributions to Cinemax! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
-
Fork the repository
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Make your changes
-
Commit your changes:
git commit -m 'Add some feature' -
Push to the branch:
git push origin feature/your-feature-name
-
Open a pull request
This project is licensed under the MIT License. See the LICENSE file for more details.
Thank you for using Cinemax! Enjoy your movie experience!