Skip to content

It's a movie booking app, with both frontend and backend , created to leverage show booking , with payment integration, real time data stored at MongoDB Atlas

Notifications You must be signed in to change notification settings

ramya24-eng/bookmovie-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

Movie Booking App

A full-stack web application for booking movie tickets online.

Features

  • User Authentication & Authorization: Users can register, log in, and view their booking history. JWT-based authentication is used.
  • Movie Listings: View movie details including title, description, genre, showtimes, and ratings.
  • Search and Filter: Users can search for movies by name or filter by genre and rating.
  • Seat Selection: Users can select available seats for a movie showtime and reserve them.
  • Booking Management: Users can manage their booking history after confirming a ticket purchase.
  • Admin Panel: Admin users can manage movie listings, showtimes, and view booking statistics.

Technologies Used

Frontend:

  • React.js: The main JavaScript library for building the user interface.
  • React Router: Used for navigation and routing within the app.
  • Axios: A promise-based HTTP client used for making API calls.
  • Material-UI or Bootstrap: CSS frameworks used for styling the app and creating responsive layouts.
  • Redux or Context API (optional): Used for state management in React, allowing efficient data flow and handling of app-wide states.

Backend:

  • Node.js + Express: The backend server is built with Node.js, using Express.js for building RESTful APIs.
  • JWT-based Authentication: JSON Web Tokens (JWT) are used for secure login/signup and managing user sessions.
  • RESTful APIs: APIs are designed to manage movie listings, user information, and bookings.
  • Integration with MongoDB: MongoDB is used to store and manage the app's data, including movie details, user profiles, and booking history.

Database:

  • MongoDB: A NoSQL database used to store data in a flexible, JSON-like format.
  • Mongoose ORM: Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. It provides a schema-based solution to model data in MongoDB.

App Workflow

Frontend (React)

The frontend consists of several pages and components to interact with the user:

  • Home Page: Displays a list of available movies with options to view details and select showtimes.
  • Movie Details Page: Allows the user to select a showtime and reserve seats.
  • Booking Confirmation: Once seats are selected, the user confirms the booking and proceeds to payment.
  • User Profile & History: Displays the user's personal information and previous bookings.
  • Search and Filter: Allows users to search and filter movies by genre, rating, or name.

Backend (Node.js/Express)

The backend provides APIs for user authentication, movie management, and booking creation:

  • User Authentication: JWT is used for secure authentication during login and signup.
  • Movie Management: Admins can add, edit, and delete movies and showtimes.
  • Booking Management: Users can create a booking by selecting available seats for a movie showtime.

About

It's a movie booking app, with both frontend and backend , created to leverage show booking , with payment integration, real time data stored at MongoDB Atlas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published