https://github.com/techkumarnitish/se-project
Cinema + is an online Movie Ticket Booking web app with MERN Stack. Online Booking System, Admin Dashboard, Dark Theme UI
https://github.com/techkumarnitish/se-project
Last synced: 15 days ago
JSON representation
Cinema + is an online Movie Ticket Booking web app with MERN Stack. Online Booking System, Admin Dashboard, Dark Theme UI
- Host: GitHub
- URL: https://github.com/techkumarnitish/se-project
- Owner: TechKumarNitish
- License: mit
- Created: 2025-03-14T15:18:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-17T08:13:57.000Z (about 1 year ago)
- Last Synced: 2025-03-17T09:27:57.929Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 323 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
CineVerse
MongoDB, Expressjs, React/Redux, Nodejs
[](https://github.com/facebook/react/blob/master/LICENSE) [](https://www.npmjs.com/package/react)
CineVerse is an online Movie Ticket Booking web app with MERN Stack.
- Online Booking System
- Admin Dashboard
- Dark Theme UI
> MERN is a fullstack implementation in MongoDB, Expressjs, React/Redux, Nodejs.
MERN stack is the idea of using Javascript/Node for fullstack web development.

# Features!
- Add / Update / Delete Movies
- Add / Update / Delete Cinemas
- Add / Update / Delete Showtimes
- Add / Update / Delete Reservations
- Add / Update / Delete Users
- Generate QR Code for reservation check in
- Send HTML emails invitations
You can also:
- Export QR Code pass as PDF
### Tech
CineVerse uses a number of open source projects to work properly:
* [MongoDB](https://www.mongodb.com/) - A document-oriented, No-SQL database used to store the application data.
* [ExpressJS](https://expressjs.com/) - fast node.js network app framework.
* [ReactJS](https://reactjs.org/) - A JavaScript library for building user interfaces.
* [Redux](https://redux.js.org/) - A predictable state container for JavaScript apps.
* [nodeJS](https://nodejs.org/) - A JavaScript runtime built on Chrome's V8 JavaScript engine
### Installation
CineVerse requires [Node.js](https://nodejs.org/) to run.
Set environment variables
```sh
$ Create a .env file in your server and client folder
$ See the .env sample
create a mongodb database and add your connection string into .env file
```
## Environment Variables
The following environment variables are required for the application to function correctly.
| Variable | Required | Description |
|----------------|----------|------------------------------------|
| `MONGODB_URI` | ✅ Yes | MongoDB connection string |
| `MAIL_HOST` | ✅ Yes | SMTP mail server host |
| `GMAIL_USER` | ✅ Yes | Gmail user email for SMTP |
| `GMAIL_PASSWORD` | ✅ Yes | Gmail app password for SMTP |
| `CLOUDINARY_CLOUD_NAME` | ✅ Yes | Cloudinary cloud name |
| `CLOUDINARY_API_KEY` | ✅ Yes | Cloudinary API key |
| `CLOUDINARY_API_SECRET` | ✅ Yes | Cloudinary API secret |
| `PORT` | ❌ No | Default is `8080` |
Make sure to set these variables in a `.env` file before running the application.
Install the dependencies and devDependencies
```sh
$ git clone https://github.com/TechKumarNitish/se-project.git
$ npm install
$ cd server npm install && npm start
$ cd client npm install && npm start
```
Start the server.
```sh
$ cd server
$ npm install
```
OR
#### Docker Image for Server
A pre-built Docker image for this project is available on Docker Hub:
[https://hub.docker.com/r/122cs0070/cineverse-backend](https://hub.docker.com/r/122cs0070/cineverse-backend)
To pull and run the Docker container:
```bash
docker pull 122cs0070/cineverse-backend
docker run \
-e NODE_ENV='production' \
--env-file .env \
-p 8080:8080 \
122cs0070/cineverse-backend:latest
```
Start the client.
```sh
$ cd client
$ npm install
$ npm start
```
Start from root path
```sh
$ npm run server
$ npm run client
```
### Plugins
CineVerse is currently extended with the following plugins. Instructions on how to use them in your own application are linked below.
### Server
| Plugin | README |
| ------ | ------ |
| concurrently | [plugins/concurrently/README.md](https://github.com/kimmobrunfeldt/concurrently/blob/master/README.md) |
| bcryptjs | [plugins/bcryptjs/README.md](https://github.com/dcodeIO/bcrypt.js/blob/master/README.md) |
| express | [plugins/express/README.md](https://github.com/expressjs/express/blob/master/Readme.md) |
| googleapis | [plugins/googleapis/README.md](https://github.com/googleapis/googleapis/blob/master/README.md) |
| jsonwebtoken | [plugins/jsonwebtoken/README.md](https://github.com/auth0/node-jsonwebtoken/blob/master/README.md) |
| mongoose | [plugins/mongoose/README.md](https://github.com/Automattic/mongoose/blob/master/README.md) |
| multer | [plugins/multer/README.md](https://github.com/expressjs/multer/blob/master/README.md)|
| nodemailer | [plugins/nodemailer/README.md](https://github.com/nodemailer/nodemailer/blob/master/README.md) |
| nodemon | [plugins/nodemon/README.md](https://github.com/remy/nodemon/blob/master/README.md) |
| qrcode | [plugins/qrcode/README.md](https://github.com/soldair/node-qrcode/blob/master/README.md) |
### Client
| Plugin | README |
| ------ | ------ |
| fullcalendar | [plugins/fullcalendar/README.md](https://github.com/fullcalendar/fullcalendar/blob/master/README.md) |
| material-ui | [plugins/material-ui/README.md](https://github.com/mui-org/material-ui/blob/master/README.md) |
| moment | [plugins/moment/README.md](https://www.npmjs.com/package/@date-io/moment?activeTab=readme) |
| jspdf | [plugins/jspdf/README.md](https://github.com/MrRio/jsPDF) |
| react | [plugins/react/README.md](https://github.com/facebook/react/blob/master/README.md) |
| react-facebook-login | [plugins/react-facebook-login /README.md](https://github.com/keppelen/react-facebook-login/blob/master/README.md) |
| react-google-login | [plugins/react-google-login/README.md](https://www.npmjs.com/package/react-google-login) |
| react-redux | [plugins/react-redux/README.md](https://github.com/reduxjs/react-redux) |
| react-router-dom | [plugins/react-router/README.md](https://github.com/ReactTraining/react-router/blob/master/README.md) |
| react-slick | [plugins/react-slick/README.md](https://github.com/akiran/react-slick) |
| redux | [plugins/redux/README.md](https://github.com/reduxjs/redux)|
### Todos
- Add Light Mode / More themes
# Screenshots!
Movie Page

More Screenshots
Booking Page

Booking Invitations

Guest Dashboard Page

My Account Page

Admin Home Page

Admin Cinema Page

Admin Movie Page

Admin Reservation Page

Admin Reservation Calendar

License
----
MIT