Musicott

Desktop
Backend

Tech Stack

Java
JavaFX
Spring Boot
Software Testing

Description

A cross-platform desktop music player built with JavaFX and Spring Boot, on top of music-commons and lirp. Manage your local music library, organize playlists, play tracks with waveform visualization, and import from iTunes.

I started this project in my university years as a small pet project to solve a problem with audio metadata tagging, in the times when I started to DJ. Back then I used iTunes to organize my music library and when I started to use DJ software and import my files there, it turned out that iTunes was not writing the track information I spent so much time curating into the file metadata tags, therefore having a frustrated experience since I spent so much time tagging my entire music library in order to find the tracks I wanted to play in my sets with ease.

Therefore I started a cli tool that parsed the itunes library xml file and wrote the info into the track metadata using jaudiotagger. Easy-peasy. However, why stop there? I was studying to become a software engineer so, why not build my own music library app?

That became Musicott, the project I spent countless hours learning to code alongside my studies with the ambition to have some features that I did not find in other similar apps while helping me become a better Software Engineer.

  • Built a desktop music manager application using Java 25, Kotlin and JavaFX with CSS styling.
  • Implemented unit testing with JUnit 5 and UI testing with TestFX for comprehensive test coverage.
  • Spring Boot for clean architecture.
  • Built on top of music-commons and lirp for modular architecture.
Musicott