University Board Game Library
From scattered spreadsheets to a usable collection.
The collection lived in Excel files: duplicates, missing information, unnamed columns. It was all cleaned up and moved into a database, with an application to search for a game and borrow it.

Web · Data · University project · 2025
- PHP
- MySQL
- Python
- Pandas
- OpenPyXL
- Git
- Bash
The starting point.
Make a collection from heterogeneous spreadsheets reliable, then support finding and borrowing games through a working application.
The collection holds approximately 17,000 board games.
What I built.
My own contribution to the project.
Team project. Carried out in a university setting. Presentation repository for a team project.
Data pipeline
Contributed to the Python cleaning pipeline, and to the SQL import and test scripts.
Authentication and accounts
Implemented authentication, registration, session handling and the account flow, with input validation and password hashing.
From data to use.
The work goes beyond displaying a catalogue. Each layer needs to make the data usable by the next.
Scroll the table horizontally to read all columns.
| Starting point | Processing | Tools |
|---|---|---|
| Heterogeneous Excel files | Cleaning, normalisation and validation | Python · Pandas · OpenPyXL |
| Cleaned data | SQL import and test scripts | MySQL |
| Database collection | Search, loans and collection tracking | PHP MVC |
| User accounts | Registration, sessions and input validation | PHP · MySQL |
I contributed to the Python pipeline and SQL scripts, and built authentication and the account flow. The business application belongs to the team project.
What I learned.
A useful interface starts with reliable data. Cleaning and validating the import are part of the product.