aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClyhtsuriva <aimeric@adjutor.xyz>2020-12-25 22:09:02 +0100
committerClyhtsuriva <aimeric@adjutor.xyz>2020-12-25 22:09:02 +0100
commitb5072cf8159adb16ff1826dce27bccb7ab41c141 (patch)
tree59be93c46173a889ef68d7e08238046c612a65d6
parent4b05d4c2be1b4a57b18ade39c5201ba64b468ffb (diff)
Beginning the report
-rw-r--r--report.ms67
-rw-r--r--report.pdfbin0 -> 19582 bytes
2 files changed, 67 insertions, 0 deletions
diff --git a/report.ms b/report.ms
new file mode 100644
index 0000000..f25c210
--- /dev/null
+++ b/report.ms
@@ -0,0 +1,67 @@
+.TL
+jMusicHub - OOP Project Report
+.AU
+Aimeric ADJUTOR
+.AI
+ESIEA
+.AB
+This document comes with a javadoc and files for a program named jMusicHub.
+Here, I'll try to state why I did some stuff the way I did and so on..
+.AE
+.NH
+UML Diagram
+.PP
+IMAGE OF THE DIAGRAM TO PUT HERE
+.NH
+Student contribution
+.PP
+Since I did it alone, every part of the code has been done by myself.
+
+.PP
+I used different kind of help when I was confronted to some errors and also to learn new things because I'm new with the Java programming language.
+.PP
+My main sources of knowledge comes from Stackoverflow, javaTpoint, Oracle and w3schools.
+.NH
+Work done
+.NH 2
+Tools
+.PP
+For starters, the tools I used to program everything here are :
+.IP \(bu 2
+Neovim, as my text editor alongside some plugins and snippets to make my life easier.
+.IP \(bu 2
+Void linux, as my OS.
+.IP \(bu 2
+Deoplete, ultisnips and vim-javacomplete2 as my plugins.
+
+.NH 2
+The program
+.PP
+I coded with some freedom as the specifications were sometimes not clear. I suppose it was written this way to mimic specifications done by a client.
+.PP
+My "main" program is jMusicHub.java, it's basically the app you'll want to run to do anything. The other files are just the different objects that we create thanks to jMusicHub.
+.PP
+Lots of commands are available so a quick peek at the help page (h) is recommended.
+
+.NH 2
+Abstraction and Interface
+.PP
+The abstract class is MusicalElement which is instanciated by Song and AudioBook.
+.PP
+The interface used in this project is the Serializable one. It is used by MusicalElement (therefore, Song and AudioBook), Album and Playlist. It's used to store the objects created into files. One for each types (songs, audiobooks, albums and playlists).
+
+.NH 2
+Exceptions
+.PP
+Most exceptions are handled the same way because they appear on the same patterns.
+We basically abort the tasks or create empty objects when necessary and display something to the user to keep him up-to date.
+
+.NH
+Difficulties and solutions given
+.PP
+I honestly had difficulties everytime I got back on my code to build new stuff.
+The websites, given prior to this part, were really helpful to help me.
+.PP
+The first big difficulty was to understand what was the Serialization and how to use it. It took me some time but thanks to websites and indications given by some classmates I managed to implement it in my code.
+.PP
+Other difficulties were managed by, somehow, finding a solution online or aborting my idea and using other ways to achieve what I was looking for.
diff --git a/report.pdf b/report.pdf
new file mode 100644
index 0000000..52c84ca
--- /dev/null
+++ b/report.pdf
Binary files differ