Giter Site home page Giter Site logo

movie-backend's Introduction

Screenshot 2021-07-09 at 11 28 41 PM

Actually.js

Our project is a movie ticket booking website. It has sections of Home, Signin/Signup, My Profile, My bookings, etc. We have used Tmdb API for movie database and Razorpay Gateway for payment, which is in test mode. Further these sections will be described in the later part of this README file.

Hosted URL

Kinoticket.com

Features Implemented

Frontend

Starting off with the HOME page, it begins with:

  1. Navigation Bar
    1. Website name and Logo
    2. Search bar
    3. Navigation Sections
      1. Home: Active page
      2. Movies: The page under construction
      3. Theater: The page under construction
      4. SignIn: Allows the user to SignIn, with a submenu to register himself if not.
  2. Container with cards containing:
    1. Movie Title
    2. Ratings
    3. Overview
  3. Footer which as the name suggests is the end of this page has:
    1. Website logo
    2. Social media handles which is also under construction.
    3. About us: This page gives a brief description about the creaters of this website
    4. Contact us: This page lets the user leave his/her queries to us which goes to our database on submission. Also we have given the address where people can reach out to us.
    5. Feedback: This has a link to a google form for the user to leave us a feedback on our website.

Then comes the other pages which can be reached using the navigation bar.

  1. SignIn: In this page the user enters his/her email and password in the fields to signIn, on clicking the proceed button one has access to his profile, bookings and also can now book any movies.
  2. Register: This page can be reached through the navigation bar as well as with the link in the sigin page. It has fields of name, email, contact, password and confirm password by filling which a person registers himself on our page and can now signin.
  3. My Profile: This can also be reached through the navigation bar and has option to reset all the credentials of the user including resetting the password.
  4. Bookings: This page also is reached using the navbar and displays all the successful and failed bookings made by the user.

Other than these we have pages to select:

  1. Slot date and timings
  2. Choice of seats
  3. A page consisting of the button to book the movies, its overview, trailer video and cast can be reached by clicking on the cards in the container of home page.
  4. After selection of seats displays a page with the summary of your booking as well as the amount to be paid. It also has a pay now button which directs you to the payment gateway through razorpay API.
  5. On payment a page with the booking summary is displayed which also gives you an option to print the ticket.

Backend

(1) Authentication Routes

These routes are for user registration and verification. New user's data is fetched from frontend after checking that all entries are in proper format and then user's data and hashed password is stored in the database.

For existing users the email and password is comapred with priorly entered values and on successfull match A token is given to the user for session.

It also has a route which resets the password on user request by taking token,old password and new password as requset parameters.

(2) Slot Routes

These routes handle all the requests regarding : (1) Availability of a movie on a particular date. (2) Slots that are vacant. (3) Information of booked and vacant seats.

(3) Booking Routes

These routes contain the following functions : (1) Blocking the selected seats for 5mins. (2) Creating order Id for payment. (3) Displaying all the order details by taking order_Id and user token as request parameters.

(4) User Routes

These routes are specially for handling user data. These are used for my profile and my bookings section mentioned in the frontend.

Technologies and Libraries used

css3 express git heroku html5 javascript nodejs postgresql

APIs used

Tmdb

Packages used

  1. Nodemon
  2. Cors
  3. Jwt
  4. bcrypt
  5. razorpay
  6. postgres
  7. dotenv

Local Setup

  1. Fork the repository.
  2. Clone the repository (git clone URL)
  3. Install the packages using the code given below

npm i nodemon bcrypt cors express jsonwebtoken pg dotenv razorpay

  1. Create account on razorpay then go into web integration and generate API test key and secret key.
  2. Create your own database on ElephantSQL.
  3. If you want to use Razorpay payments gateway as well generate your KEY_ID and KEY_SECRET using this link and then substitute it in the .env file.
  4. Now you can run npm start and start working localy.

Team Members

  1. Harsh Mishra (2020IMT-036)
  2. Samarjeet Mohite (2020IMT-084)
  3. Khushi Soni (2020IMT-045)

To access frontend repository click on Movie-Frontend.

movie-backend's People

Contributors

harsh9425 avatar smr0303 avatar ks20soni avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.