Skip to content

Smr0303/Movie-Frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 backend repository click on Movie-Backend.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors