A full-stack movie ticket booking system with FastAPI backend and Windows Forms frontend.
This project implements a movie ticket booking system with two main components:
- RESTful API built with FastAPI
- Windows Forms desktop application for user interface
⚡ 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
- Python 3.11
- FastAPI
- PostgreSQL
- SQLAlchemy
- Alembic
- Pinecone
- Docker
- C# Windows Forms
- .NET Framework
- Visual Studio 2022
# 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# Clone repository
git clone https://github.com/PhucHau0310/Movie-Ticket-System
cd MovieTicketSystem/MovieTicketAPI
# Build and run with Docker Compose
docker-compose up --buildThe API will be available at http://localhost:8000
Swagger documentation: http://localhost:8000/docs
- Open
MovieTicketSystem/MovieTicketApp/MovieTicketApp.slnin Visual Studio - Restore NuGet packages
- Build the solution
- Run the application
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
Nguyễn Phúc Hậu
- Email: haunhpr024@gmail.com
- GitHub: Phuchau0310
This project is licensed under the MIT License - see the LICENSE file for details



