Connect the relational model
The supplied schema uses five core tables: Account, Customer, Artist, Track, and Review. Primary and foreign keys connect the entities, while checks restrict account roles and review ratings.
PROJECT 05 / Database Engineering
A music catalogue with role-based accounts, track reviews, and a Python data-access layer.
September 2025 – November 2025
Python functions, integration & code review
Conceptual data-access flow
THE PROJECT AT A GLANCE
Accounts, customers, artists, tracks, and reviews form the assignment’s relational model.
01 / OBJECTIVE
Build the database-backed operations for Sydney Music, connecting a Flask-based interface to PostgreSQL so users can browse tracks, search the catalogue, and manage accounts and reviews.
02 / MY CONTRIBUTION
I implemented list_users, list_reviews, and update_user in the Python data-access layer. I also reviewed and debugged SQL and Python across the project, tested how the modules worked together, and completed the final review of the code and documentation.
This was a three-person assignment. My contribution focused on user and review operations, integration, testing, and code review. Other team members implemented the core track operations and stored functions.
03 / TECHNICAL APPROACH
The supplied schema uses five core tables: Account, Customer, Artist, Track, and Review. Primary and foreign keys connect the entities, while checks restrict account roles and review ratings.
Implemented list_users to return account details ordered by role and login, and update_user to change profile details with a parameterised, case-insensitive login match.
Implemented list_reviews with joins to track and account information, formatted review dates, and ordering by date. The function returns dictionaries the web interface can consume.
Reviewed SQL and Python together, tested interactions between modules, and checked transaction handling, exception handling, and connection cleanup across the data-access layer.
04 / OUTCOMES
An academic team project built around a supplied music-system schema and web interface.
Want to talk about this project?
Get in touch