A relational database project simulating a digital game distribution platform (Steam/Epic-like), covering users, games, purchases, sessions, reviews, and achievements — with an AI-powered query analysis feature.
- SQL Server relational schema (Users, Games, Purchases, GameSessions, Reviews, Achievements, Developers, UserAchievements)
- Data populated via ETL (SSIS) from AI-generated synthetic CSVs
- Minimal Python GUI (
customtkinter+pyodbc) to run 5 predefined queries (3WHERE, 2HAVING) - Gemini API integration to generate natural-language analysis of query results, run on a background thread
| Layer | Tools |
|---|---|
| Database | SQL Server |
| ETL | SSIS |
| Interface | Python, customtkinter, pyodbc |
| AI | google-genai (Gemini API) |
- Run the SQL script to create the schema.
- Load synthetic CSVs into the DB via SSIS packages (respecting FK order).
- Launch the Python app — pick one of 5 queries to populate the results table.
- Click "Generate AI Analysis" — the first 15 rows are sent to Gemini for a natural-language summary.
- All DB/API errors are caught and shown to the user instead of crashing the app.
- Total game time per user — engagement ranking from
GameSessions. - Purchases per game — popularity ranking from
Purchases.
Full documentation with requirements, schema DDL, and screenshots is in the project report.
