SpotifUM

🚧 In active development

A music-management application built for the Object-Oriented Programming course at the University of Minho — a JUnit-tested, MVC-structured Java domain model.

Repository not public yet — happy to walk through the code on request.

Problem

The OOP course project: model a Spotify-like music service — users, playlists, music library, playback statistics — with a clean object-oriented design.

Solution

A Java 23 application built with Gradle, organized as MVC (controller, views, menus) over domain packages for users, musics, playlists and statistics, with custom exceptions, Javadoc and a JUnit 5 test suite.

Tech stack

  • Java
  • Gradle
  • JUnit 5

Technical highlights

  • MVC architecture separating controller, views and menu navigation from the domain model
  • Domain packages for users, musics, playlists and playback statistics
  • Custom exception hierarchy for domain errors
  • 20 JUnit 5 test classes covering the domain model
  • Gradle build with Javadoc generation and a documented UML class diagram