Skip to content

Cine Magic is a web-based Cinema Ticket Booking System, offering a seamless and efficient experience for both cinema operators and customers. This web-based application is designed with state-of-the-art frontend and backend systems, utilizing cutting-edge technologies and tools to ensure a robust and secure platform.

Notifications You must be signed in to change notification settings

DFanso/cine-magic-cinema

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cine Magic - Cinema Ticket Booking System

Cine Magic is a web-based Cinema Ticket Booking System, offering a seamless and efficient experience for both cinema operators and customers. This web-based application is designed with state-of-the-art frontend and backend systems, utilizing cutting-edge technologies and tools to ensure a robust and secure platform.

Features

  • Browse Movies: Users can browse a list of currently showing movies.
  • View Movie Details: Users can click on a movie to view its details, including synopsis, cast, and ratings.
  • View Showtimes: Users can see available showtimes for a selected movie.
  • Select Seats: Users can select their preferred seats for a show.
  • Book Tickets: Users can book tickets for one or more seats and proceed to payment.
  • User Authentication: Secure user authentication and registration system.
  • Responsive Design: The system is responsive for mobile and desktop users.

Project Structure

The CINEMAGIC project is organized into three main components:

  1. Client: This is the frontend of the application, providing a user-friendly interface for booking cinema tickets.

  2. Admin: The admin panel for managing movie listings, showtimes, and user feedback.

  3. Server: The backend server that handles user authentication, ticket booking, and database operations.

Getting Started

To get the "client," "admin," and "server" components into your local machine separately, follow the instructions below.

Getting the Client

  1. Clone the repository into your local machine:
    git clone https://github.com/DFanso/cine-magic-cinema.git
        
  2. Navigate to the "client" directory:
    cd client
    
  3. Install dependencies:
    npm install
    
  4. Start the client application:
    npm start
    

Getting the Admin

  1. Clone the repository into your local machine:
    git clone https://github.com/DFanso/cine-magic-cinema.git
        
  2. Navigate to the "admin" directory:
    cd admin
    
  3. Install dependencies:
    npm install
    
  4. Start the admin application:
    npm start
    

Getting the Server

  1. Clone the repository into your local machine:
    git clone https://github.com/DFanso/cine-magic-cinema.git
        
  2. Navigate to the "server" directory:
    cd server
    
  3. Install dependencies:
    npm install
    
  4. Start the admin application:
    npm start
    

Technologies Used

  • Frontend: React.js, Redux, HTML5, CSS3
  • NestJS: A progressive Node.js framework for building efficient and scalable server-side applications.
  • Express: A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.

Database

  • MongoDB: A NoSQL database designed for high performance, high availability, and easy scalability.
  • Mongoose: An elegant MongoDB object modeling tool designed to work in an asynchronous environment.

Authentication

  • JWT (JSON Web Tokens): A compact, URL-safe means of representing claims to be transferred between two parties.

Communication

  • Web Socket: Enables real-time, bidirectional and event-based communication between the browser and the server.
  • Email Integration: Using Gmail SMTP for reliable email delivery.
  • .hbs (Handlebars): A simple templating language used for creating email templates.

Payment Integration

  • PayPal Sandbox: A test environment that provides a safe space for testing the payment integration without involving real money.

API & Documentation

  • RestAPIs: Architectural style for designing networked applications.
  • Swagger: A tool for documenting APIs in a precise, readable, and user-friendly format.

Scheduling

  • NodeCron: A task scheduler in Node.js using full cron syntax for running scheduled jobs.

Testing

  • Jest: A delightful JavaScript Testing Framework with a focus on simplicity.

External APIs

  • OMDB API: Used for fetching movie data to enrich the application's content.

DevOps and CI/CD

  • Docker: A platform for developing, shipping, and running applications in containers.
  • GitHub Actions: Automates workflows, CI/CD, testing, and deployment.

AI Integration

  • ChatGPT: Leveraged for adding conversational AI capabilities.

Version Control

  • Git: For tracking changes in the source code during software development.

Contact

  • If you have any questions or need further assistance, please feel free to contact us.

About

Cine Magic is a web-based Cinema Ticket Booking System, offering a seamless and efficient experience for both cinema operators and customers. This web-based application is designed with state-of-the-art frontend and backend systems, utilizing cutting-edge technologies and tools to ensure a robust and secure platform.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •