GameVault is a video game library and discovery system developed for COMP 3005: Database Management Systems at Carleton University.
The application allows users to organize, track, and discover video games across multiple platforms and storefronts while maintaining personalized libraries, wishlists, ratings, reviews, and gameplay statistics.
- Track owned and wishlisted games
- Record play status and hours played
- Store personal ratings and reviews
- Search games by title
- Browse games by genre, platform, studio, and tags
- View detailed game metadata
- Discover highly-rated games
- Filter owned games by platform and gameplay features
- Python
- SQLite
- SQL
- Relational Database Design
- ER Modeling
The system was designed using an Entity-Relationship model and converted into a normalized relational schema.
Core entities include:
- User
- Game
- Platform
- Genre
- Studio
- Tag
The database also implements several many-to-many relationships through junction tables:
- UserGame
- GamePlatform
- GameGenre
- GameStudio
- GameTag
Clone the repository:
git clone https://github.com/brennardindanan/gamevault.git
cd gamevaultOptional database setup:
sqlite3 gamevault.db < schema.sql
sqlite3 gamevault.db < seed.sqlpython3 app.py- Relational Database Design
- ER Modeling
- Schema Design
- SQL Query Development
- Database Normalization
- Primary and Foreign Keys
- Many-to-Many Relationships
- Python Database Integration
- CLI Application Development
Brennard Indanan
Carleton University – Bachelor of Computer Science