You’ve just joined CineScope Studios as a data intern.
Your mission? Help the team build an interactive movie database visualizer. The frontend is ready — now it’s your job to bring it to life with real data. You’ll import movie records, connect a MySQL database, and make sure everything works smoothly inside the CineScope desktop app.
- Learn and apply basic SQL (MySQL) skills
- Import data from a CSV file into a MySQL database using Python
- Integrate a PySide6 UI with the database
- Enable exporting of the displayed data to a CSV file
- Set up the virtual environment
python3 -m venv venv
- Activate the virtual environment
source venv/bin/activate - Install dependencies
pip install -r requirements.txt
- Run the file
python3 main.py
- A
movies.csvfile with movie data - A ready-to-use PySide6 UI (
dashboard.py) - A demo video showing the expected functionality
-
Import Data into MySQL
Write a Python script (import_csv.py) to:- Create a MySQL table for storing movie data
- Read the contents of
movies.csv - Insert the records into the database
-
Connect the UI to MySQL and Implement Functionalities
The provided UI (dashboard.py) is built using PySide6. Your job is to:- Connect it to your MySQL database using Python (e.g.,
PyMySQLormysql-connector-python) - Make the Search and Column Selection buttons functional — they should generate custom queries based on the user's input and selected filters
- Display the resulting data dynamically in the visualizer table
- Connect it to your MySQL database using Python (e.g.,
-
Export to CSV
Implement the Export CSV button so that:- It exports the currently displayed data from the visualizer table to a new
.csvfile - The exported file should reflect any applied filters or selections made in the UI
- It exports the currently displayed data from the visualizer table to a new
Make sure you’re familiar with:
| Topic | Resource |
|---|---|
| SQL (MySQL) | W3Schools SQL Tutorial |
| Python + MySQL | Real Python: MySQL with Python |
| PySide6 (Qt for Python) | Official Docs |
- Include your
import_csv.pyscript - Modify
dashboard.pywith proper integration - Make sure the Export CSV button works
- Submit your updated GitHub repo link