BookCine is a web application for booking movie tickets. It is built using Vite, Node.js, Tailwind CSS, MongoDB, Express, and React.
- Introduction
- Features
- Prerequisites
- Getting Started
- Running the Application
- Project Structure
- User Roles
- Screenshots
- Contributing
- License
BookCine is a platform that allows users to book movie tickets, with features for both normal users and theater owners. It provides full fledged simulation of any ticket booking app out there. The application is built with Vite, Node.js, Tailwind CSS, MongoDB, Express, and React.
- User Authentication (Signup/Login)
- Landing Page with Movie Listings
- Theater Owner Dashboard for Adding Theaters and Shows
- Admin Approval for Theater Owners
- Addition of movies by admin
- User Booking and Ticketing System
Before you begin, ensure you have the following installed:
cd bookcine
npm install
Before running the application, you need to set up your configuration variables. Create a .env
file in the root of your project and add the following information:
# Specify the port on which the application will run
PORT=5050
# MongoDB Connection URL
MONGO_URL=mongodb+srv://your-username:your-password@your-cluster-url/your-database
# JWT Secret Token for authentication
JWT_SECRET=your-secret-token
Ensure to replace placeholders like your-username, your-password, your-cluster-url, and your-database with your actual MongoDB credentials and database information.
The .env file contains sensitive information and should not be shared or committed to version control systems.
- Running the server
nodemon server.js
- Running the client
npm run dev
Admin: Approves theater owner requests, Manage CRUD of movies and theaters. Theater Owner: Adds theaters and shows to the platform, Add shows to the theater after getting approval from the admin. Normal User: Books movie tickets.
If you wish to contribute, please fork the repository and create a pull request. We welcome issues and feature requests!
This project is licensed under the MIT License - see the LICENSE file for details.