
OneShare ist eine webbasierte Plattform für Musiker, Produzenten und musikinteressierte Personen. Sie können dort Accounts anlegen und sich über die neuesten Ereignisse in der Musik-Industrie austauschen. OneShare bietet für jedes Genre einen Diskussionsbereich. Nutzer können Beiträge veröffentlichen und sich mit anderen Nutzern vernetzen.
Das Projekt ist im Jahr 2023 im Rahmen eines Uni-Kurses entstanden.
Es handelt sich um eine klassische 3-Schichten-Architektur mit Frontend, Backend und Datenbank. Für das Frontend war die Vorgabe, Vue.js zu nutzen. Ich kannte mich vor dem Projekt nicht gut mit Vue aus, konnte es aber schnell lernen, da ich bereits Erfahrungen mit React hatte. Der Fokus im Frontend lag klar auf UI und UX. Bevor ich das Frontend erstellt habe, habe ich es zunächst in Figma designt. Anschließend habe ich das Frontend in Vue selbst umgesetzt. Im Frontend habe ich mich neben UI und UX außerdem mit den Themen Routing in Vue, Data Fetching und einem Login-System beschäftigt.
Für das Backend galt die Vorgabe, Spring Boot zu nutzen. Spring Boot ist ein Java-Framework, mit dem sich REST-APIs vergleichsweise einfach entwickeln lassen. Die Aufgabe des Backends bestand darin, API-Endpunkte für das Frontend bereitzustellen und die Geschäftslogik auszuführen.
Hauptaufgabe des Backends war die Kommunikation mit einer Datenbank (PostgreSQL). Dafür habe ich Hibernate genutzt, das dabei geholfen hat, mit der Datenbank zu kommunizieren, ohne dass ich direkt SQL-Abfragen schreiben musste.
Da die Anwendung über ein Login-System verfügte und ich keinen externen Authentifizierungsdienst (wie Okta) genutzt habe, musste ich mich mit Spring Security beschäftigen. Mithilfe von Spring Security habe ich erreicht, dass Passwörter nicht im Klartext, sondern verschlüsselt in der Datenbank gespeichert wurden.
Während der Entwicklung habe ich die Anwendungen lokal über Docker laufen lassen. Zum Schluss habe ich alles auf render deployt. Heute ist die Anwendung allerdings nicht mehr online und wird auch nicht weiterentwickelt.
Durch dieses Projekt habe ich mich zum ersten Mal mit Vue.js auseinandergesetzt. Vor dem Projekt hatte ich im Frontend bereits Erfahrungen mit anderen Technologien wie React und Next.js. Außerdem hat mir das Projekt dabei geholfen, Spring Security kennenzulernen.
Nachdem ich den Kurs erfolgreich abgeschlossen hatte und für das Projekt die Note 1,0 erhalten hatte, wurde es nicht weiterentwickelt oder gepflegt. Daher sind die Versionen hier vermutlich veraltet. Zuletzt habe ich 2023 an dem Projekt gearbeitet.