/Cinema-Ticket

A short and complete project for buying cinema ticket based on the available movies on the website

Primary LanguageTypeScript

Cinema Ticket

Cinema Ticket is a full-stack web application designed for cinema enthusiasts and administrators. It allows users to browse and purchase cinema tickets for upcoming movies, while providing administrators with tools for managing showtimes, movie listings, and ticket sales. The project is built using React for the frontend and ASP.NET Core for the backend, ensuring a responsive, scalable, and secure application.

Features

  • User-Friendly Interface: Easy navigation and interaction for purchasing tickets and viewing movie details.
  • Comprehensive Movie Catalog: Includes detailed pages for each movie, featuring descriptions, showtimes, and ticket purchasing options.
  • Basket Functionality: Users can add tickets to their basket, review their selections, and proceed to checkout.
  • Secure User Authentication: Supports user registration, login, and profile management.
  • Admin Management: Allows administrators to add or update movie listings, manage showtimes, and view sales reports.

Technology Stack

  • Frontend: React (TypeScript), Redux for state management, and Material UI for component styling.
  • Backend: ASP.NET Core, Entity Framework Core for data access, and SQL Server as the database.
  • Payment Processing: Integrated with Stripe for secure online payments.
  • Other Tools: Docker for containerization and deployment, GitHub Actions for CI/CD.

Getting Started

Prerequisites

  • Node.js
  • .NET 5.0 SDK
  • SQL Server

Setup

  1. Clone the repository
    git clone https://github.com/AliShahbazi81/Cinema-Ticket.git
    cd Cinema-Ticket
  2. Set up the backend

    Navigate to the e-Commerce directory and restore the .NET dependencies.

    cd e-Commerce
    dotnet restore

    Update the database with the initial migration (ensure SQL Server is running).

    dotnet ef database update

    Start the backend server.

    dotnet run
  3. Set up the frontend

    Navigate to the client directory and install the npm packages.

    cd ../client
    npm install

    Start the React application.

    npm start

    The application should now be running locally, with the frontend accessible on http://localhost:3000 and the backend on http://localhost:5000.

Contributing

We welcome contributions to the Cinema Ticket project. Please feel free to submit issues or pull requests through GitHub for any bugs, features, or enhancements.

License

This project is licensed under the MIT License - see the LICENSE file for details.