A full-stack web application simulating the complete operation of a cinema 🎥.
Kinoverse allows users to browse movie showings, reserve seats, buy tickets and snacks, while employees and admins can manage orders.
demo.mp4
- 🎞️ Browse movie screenings by type (normal or for schools), date and city
- 🪑 Seat reservation with visual seat map
- 🎟️ Ticket types: normal, reduced, senior
- 🍿 Add snacks and drinks to the order
- 📧 Login and view own reservations
- ➕ Create new orders manually
- ✏️ Edit existing orders:
- change tickets
- change seats
- change snacks
- edit customer email
- ❌ Delete orders
- 🐍 Python (Flask)
- 🗄️ PostgreSQL
- 🔐 JWT authentication
- 🧩 Modular architecture (controllers, services and repositories)
- ⚛️ React
- 🎨 CSS
⚠️ Important:
All paths below are examples.
Replace<PROJECT_PATH>with the actual path where you cloned the project on your computer
In the database folder, run in terminal:
<PROJECT_PATH>/backend/.venv/Scripts/python.exe
<PROJECT_PATH>/database/create_database.py
In the database folder, run:
<PROJECT_PATH>/backend/.venv/Scripts/python.exe
<PROJECT_PATH>/database/database_init.py
In the database folder, run:
<PROJECT_PATH>/backend/.venv/Scripts/python.exe
<PROJECT_PATH>/database/database.py
You can configure screening dates inside database.py, for example:
start_date = datetime(2025, 4, 1)
end_date = datetime(2025, 6, 30)
In the backend folder:
<PROJECT_PATH>/backend/.venv/Scripts/python.exe
<PROJECT_PATH>/backend/app.py
In the frontend folder:
npm start