Skip to content

PhucHau0310/Movie-Ticket-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Movie Ticket Booking System

A full-stack movie ticket booking system with FastAPI backend and Windows Forms frontend.

🏗️ Table of Contents

📌 Overview

This project implements a movie ticket booking system with two main components:

  • RESTful API built with FastAPI
  • Windows Forms desktop application for user interface

✨ Features

⚡ User authentication (Login/Register)

⚡ Role-based access control (Admin/Staff/Customer)

⚡ Movie management

⚡ Ticket booking with VNPay integration

⚡ Movie recommendations using Pinecone vector similarity

⚡ User profile and preferences management

⚡ Dashboard with statistics

⚡ Ticket history tracking

🛠 Technology Stack

🔒 Backend (API)

  • Python 3.11
  • FastAPI
  • PostgreSQL
  • SQLAlchemy
  • Alembic
  • Pinecone
  • Docker

📸 Frontend (Desktop App)

  • C# Windows Forms
  • .NET Framework
  • Visual Studio 2022

📸 Screenshots

Login Screen

Login Screen

Recommandations Screen

Customer Recommandations

Admin Dashboard Screen

Admin Dashboard

Movie Management Screen

Movie Management

🧪 Getting Started

🔌 API Setup

Option 1: Using Virtual Environment

# Clone repository
git clone https://github.com/PhucHau0310/Movie-Ticket-System
cd MovieTicketSystem/MovieTicketAPI

# Create virtual environment
python -m venv .venv
.venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
copy .env.example .env
# Edit .env with your configurations

# Run migrations
alembic upgrade head

# Start API server
uvicorn app.main:app --reload

Option 2: Using Docker

# Clone repository
git clone https://github.com/PhucHau0310/Movie-Ticket-System
cd MovieTicketSystem/MovieTicketAPI

# Build and run with Docker Compose
docker-compose up --build

The API will be available at http://localhost:8000 Swagger documentation: http://localhost:8000/docs

🔒 Desktop App Setup

  1. Open MovieTicketSystem/MovieTicketApp/MovieTicketApp.sln in Visual Studio
  2. Restore NuGet packages
  3. Build the solution
  4. Run the application

📁 Project Structure

MovieTicketSystem/
├── MovieTicketAPI/         # FastAPI Backend
│   ├── app/
│   │   ├── models/        # Database models
│   │   ├── routers/       # API endpoints
│   │   ├── schemas/       # Pydantic schemas
│   │   └── utils/         # Utility functions
│   ├── alembic/           # Database migrations
│   └── tests/             # API tests
│
└── MovieTicketApp/        # Windows Forms Frontend
    ├── Forms/             # UI Forms
    ├── Models/            # Data models
    ├── Services/          # API services
    └── Utils/             # Utility classes

👨‍💻 Author

Nguyễn Phúc Hậu

📜 License

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

About

A full-stack movie ticket booking system with FastAPI backend , Windows Forms frontend and Integrate embeddings, vectordb.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages