Welcome to the Movie Theater App repository! This application is an end-to-end solution for managing a single theater with 10 rows and 10 seats per row. It includes features for users to explore scheduled movies, place orders for available seats, and an admin interface for managing movies and schedules.
The Home Page displays a list of scheduled movies with their titles and dates. Users can order the movies by date and filter them by a specified date range.
The Movie Order Page provides detailed information about a selected movie, including its title, description, duration, and date. Users can view a seat map indicating seat availability, choose and order a single seat at a time. The order system is designed to handle multiple orders simultaneously, ensuring that a specific seat cannot be ordered for two different customers.
The Admin Page is designed for administrators to manage the movie schedule. It includes options to create, edit, or delete movies. Administrators can schedule or cancel movies, and movies can be scheduled at multiple times. The system prevents scheduling two movies at the same time to avoid conflicts.
- Front-end: React
- API: Express
- Database: MongoDB
To get started with the Movie Theater App, follow the installation instructions below.
-
Clone the repository:
git clone git clone https://github.com/xoRmalka/Movie-Theater-App.git
-
Navigate to the project directory:
cd movie-theater-app
-
Install dependencies for both the front-end and back-end:
# Install front-end dependencies cd .\Client\movie-theater-app\ npm install # Install back-end dependencies cd .\Server\ npm install
-
Set up the MongoDB database:
- Create a MongoDB database and update the connection string in the server configuration.
-
Start the server:
# From the server directory node index.js
-
Start the front-end:
# From the client directory npm run dev