Skip to content

Repository files navigation

CineVerse

MongoDB, Expressjs, React/Redux, Nodejs

GitHub licensenpm version

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 - A document-oriented, No-SQL database used to store the application data.
  • ExpressJS - fast node.js network app framework.
  • ReactJS - A JavaScript library for building user interfaces.
  • Redux - A predictable state container for JavaScript apps.
  • nodeJS - A JavaScript runtime built on Chrome's V8 JavaScript engine

Installation

CineVerse requires Node.js to run.

Set environment variables

$ 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.

VariableRequiredDescription
MONGODB_URI✅ YesMongoDB connection string
MAIL_HOST✅ YesSMTP mail server host
GMAIL_USER✅ YesGmail user email for SMTP
GMAIL_PASSWORD✅ YesGmail app password for SMTP
CLOUDINARY_CLOUD_NAME✅ YesCloudinary cloud name
CLOUDINARY_API_KEY✅ YesCloudinary API key
CLOUDINARY_API_SECRET✅ YesCloudinary API secret
PORT❌ NoDefault is 8080

Make sure to set these variables in a .env file before running the application.

Install the dependencies and devDependencies

$ 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.

$ 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

To pull and run the Docker container:

docker pull 122cs0070/cineverse-backend
docker run \
-e NODE_ENV='production' \
--env-file .env \
-p 8080:8080 \
122cs0070/cineverse-backend:latest

Start the client.

$ cd client $ npm install $ npm start

Start from root path

$ 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

PluginREADME
concurrentlyplugins/concurrently/README.md
bcryptjsplugins/bcryptjs/README.md
expressplugins/express/README.md
googleapisplugins/googleapis/README.md
jsonwebtokenplugins/jsonwebtoken/README.md
mongooseplugins/mongoose/README.md
multerplugins/multer/README.md
nodemailerplugins/nodemailer/README.md
nodemonplugins/nodemon/README.md
qrcodeplugins/qrcode/README.md

Client

PluginREADME
fullcalendarplugins/fullcalendar/README.md
material-uiplugins/material-ui/README.md
momentplugins/moment/README.md
jspdfplugins/jspdf/README.md
reactplugins/react/README.md
react-facebook-loginplugins/react-facebook-login /README.md
react-google-loginplugins/react-google-login/README.md
react-reduxplugins/react-redux/README.md
react-router-domplugins/react-router/README.md
react-slickplugins/react-slick/README.md
reduxplugins/redux/README.md

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

About

CineVerse is an online Movie Ticket Booking web app with MERN Stack. Online Booking System, Admin Dashboard, Dark Theme UI

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages