A Python-based desktop application for managing cinema tickets, built with PySide6 and PostgreSQL.
This project followed a structured development roadmap:
- Phase 1 & 2: Requirements defined and environment setup (Python 3.13 + PySide6).
- Phase 3: Database schema implemented in PostgreSQL with 6 relational tables.
- Phase 4: User Authentication system with Role-Based Access Control (Admin/User).
- Phase 5: Complete User Booking Flow (Movie list -> Showtimes -> Seat Selection).
- Phase 6: Admin Management Panel with database maintenance features.
- Frontend: PySide6 (Qt for Python)
- Backend: Python 3.13
- Database: PostgreSQL 18
- Libraries:
psycopg2for database connectivity
- Clone the repository and navigate to the project folder.
- (Recommended) Create and activate a virtual environment.
- Run
pip install -r requirements.txtto install all necessary libraries. - Create a .env file in the project root and add your database configuration (according to .env.example)
- Run
python -m db.init_dbto create tables. - Run
python -m db.seed_dbto add sample movies. - Run
python main.pyto start the application.