Skip to content

AlberthMartin/OOD-Course-MusicOrganizer-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OOD - Music Organizer Project

This is our final solution for the Object Oriented Design course, which was graded 5/5. Music Organizer is a desktop application for managing and playing audio files in a hierachical album structure. It has an undo/redo feature, Search based albums (flagged soundclips, great sound clips)


Notes

  • Uses Design-by-Contract with java assertions (post/pre conditions)
  • Memento Pattern for undo/redo
  • Follows Model-View-Controller pattern
  • Coded as a pair programming project
  • Albums have a tree datastructure
  • Iterative methods to removeClipFromSubAlbums and addClipToSubAlbums

GUI

image

Albums structure

image
  • A clip added to a subalbum is automatically added to the parent album
  • A clip removed from the parent album is removed from the sub albums

How to Run

Now this project uses Maven and JavaFX 21 (dependencies in pom file)

Requirements

  • Java JDK 17
  • Maven installed Right now the pom file is configured for mac-aarch64:
<javafx.platform>mac-aarch64</javafx.platform>

Change:

<javafx.platform>win</javafx.platform>   <!-- for Windows -->
<javafx.platform>linux</javafx.platform> <!-- for Linux -->

Steps

  1. Clone
git clone https://github.com/AlberthMartin/OOD-Course-MusicOrganizer-App.git
cd OOD-Course-MusicOrganizer-App
  1. Build
mvn clean install
  1. Run
mvn javafx:run

About

Albums are structured with as a tree data structure, Has undo redo function (Memento), follows Model-view-controller pattern, coded as a pair programming project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages