Herzlich willkommen bei BandVIEW. Das moderne Notenarchiv

Kurzbeschreibung

BandView In vielen Musikkapellen sind Notenarchive oft unübersichtlich und zeitaufwendig zu durchsuchen. BandView, kurz BaVi, löst dieses Problem durch ein digitales Notenarchiv. Mithilfe einer Webapplikation werden digitalisierte Notenblätter gespeichert und organisiert. Das digitale Archiv ist benutzerfreundlich in einer Tabellenstruktur aufgebaut. Nutzer können Musikwerke mit einem Klick auswählen und detaillierte Informationen wie Archivnummer und Komponist anzeigen lassen. Um BandView zu nutzen, loggen sich Benutzer mit den vom Vereinsadministrator bereitgestellten persönlichen Daten ein.

Unser Projekt wird bearbeitet und erstellt an der HTL Mössingerstraße

BandView In many music bands, sheet music archives are often confusing and time-consuming to search through. BandView, BaVi for short, solves this problem with a digital sheet music archive. Using a web application, digitized sheet music is stored and organized. The digital archive is structured in a user-friendly table structure. Users can select musical works with one click and view detailed information such as archive number and composer. To use BandView, users log in with the personal information provided by the club administrator.

Details


Docker

Erstellung des Backends

Docker ermöglicht uns, die Erstellung eines einzigen Containers, der eine integrierte Umgebung für eine Anwendung bietet, bestehend aus einer MySQL-Datenbank, einer Angular-Homepage, MinIO S3-Speicher und einer Spring Boot REST API-Anwendung. Ein Dockerfile definiert den Bauprozess des Containers, während ein Startskript die verschiedenen Dienste in separaten Containern startet. Dieser Container kann einfach gebaut und gestartet werden, wodurch die Anwendung in einer isolierten und konsistenten Umgebung ausgeführt wird. Docker erleichtert die Bereitstellung, Skalierung und Portabilität von BAVI über verschiedene Umgebungen hinweg.

Backend Creation

Docker enables us to create a single container providing an integrated environment for an application, consisting of a MySQL database, an Angular homepage, MinIO S3 storage, and a Spring Boot REST API application. A Dockerfile defines the container's build process, while a startup script launches the various services in separate containers. This container can be easily built and started, ensuring the application runs in an isolated and consistent environment. Docker simplifies the deployment, scaling, and portability of BAVI across different environments.

MySQL

Aufbau der MySQL Datenbank

Die MySQL-Datenbank "BAVI" wurde erstellt, um Informationen im musikalischen Kontext zu verwalten. Sie umfasst Tabellen für Nutzerdaten, Funktionen, Instrumente, Mitglieder, Komponisten, Genres, Verlage und Songs. Die Tabellen sind miteinander verknüpft, um eine umfassende Datenbankstruktur für das effiziente Management musikbezogener Daten zu bieten.

Structure of the MySQL Database

The MySQL database "BAVI" has been created to manage information in a musical context. It includes tables for user data, functions, instruments, members, composers, genres, publishers, and songs. The tables are interconnected to provide a comprehensive database structure for the efficient management of music-related data.

SpringBoot

Springboot Application zur bereitstellung von Rest-API-Endpoints

Die Spring Boot-Anwendung für "BAVI" ist eine leistungsfähige Lösung zur Verwaltung von musikbezogenen Informationen. Durch die Nutzung von Spring Data JPA und Spring bietet sie eine effiziente RESTful-API für den Zugriff auf eine MySQL-Datenbank. Die strukturierten Endpunkte ermöglichen die Verwaltung von Mitgliedern, Songs, Funktionen und anderen Ressourcentypen. Die Anwendung implementiert Datenvalidierung, Fehlerbehandlung und bietet Flexibilität für zukünftige Erweiterungen. Insgesamt schafft sie eine solide Grundlage für die Organisation und Verwaltung von musikbezogenen Daten.

Spring Boot Application for Providing REST API Endpoints

The Spring Boot application for "BAVI" is a powerful solution for managing music-related information. By leveraging Spring Data JPA and Spring MVC, it provides an efficient RESTful API for accessing a MySQL database. The structured endpoints facilitate the management of members, songs, functions and other resource types. The application implements data validation, error handling and offers flexibility for future expansions. Overall, it establishes a robust foundation for organizing and managing music-related data.

MinioIO

Notenspeicherung über MinioIO

Die Spring Boot-Anwendung nutzt MinIO, eine Open-Source-Objektspeicherlösung, für die effiziente Speicherung von Notenblättern als PDF-Dokumenten über dedizierte Endpunkte. Durch die Konfiguration der MinIO-Verbindung und die Nutzung des MinIO Java-SDK ermöglicht die Anwendung das Hochladen, Herunterladen und Verwalten von Notenblättern. Spezielle Endpunkte zum upload und download der Notenblätter, wie POST und GET werden für die Notenverwaltung bereitgestellt.

Sheet Music Storage via MinIO

The Spring Boot application utilizes MinIO, an open-source object storage solution, for efficient storage of sheet music as PDF documents through dedicated endpoints. By configuring the MinIO connection and leveraging the MinIO Java SDK, the application allows uploading, downloading, and managing sheet music. Special endpoints for uploading and downloading the music sheets such as POST and GET are provided for sheet music management.

Angular

Frontend mit dem Framework Angular

Angular ist ein quelloffenes Frontend-Framework, das von Google entwickelt wurde. Es wird für die Entwicklung von Single-Page-Anwendungen (SPAs) verwendet und bietet eine umfassende Sammlung von Werkzeugen und Funktionen, um robuste und dynamische Webanwendungen zu erstellen. Hier sind einige Kernkonzepte und Funktionen von Angular:

  • Komponentenbasierte Architektur
  • Datenbindung
  • Services
  • Router
  • Animationen

Frontend with the Angular Framework

Angular is an open-source frontend framework developed by Google. It is used for building Single-Page Applications (SPAs) and provides a comprehensive collection of tools and features to create robust and dynamic web applications. Here are some core concepts and features of Angular:

  • Component-based Architecture
  • DataBinding
  • Services
  • Router
  • Animations

Our Awesome Team

Unsere Mitarbeiter sind die Code-Schmiede, die aus Ideen digitale Meisterwerke formen. Gemeinsam gestalten wir die Zukunft der Technologie – Zeile für Zeile, Algorithmus für Algorithmus.

Florian Poms

Frontend Development

Die Gestaltung von Benutzeroberflächen ist wie das schreiben eines Gedichtes- jede Zeile, jeder Pixel ist von Bedeutung und das Endprodukt soll nicht nur funktional sondern auch inspirierend sein.

Andreas Steinmair

Backend Development

Man braucht Menschen, um intellektuelles Kapital zu schaffen. Kreativität, Teamwork, Analyse, Intuition und Erfahrung – das alles ist auch notwendig, um eine Software zu entwickeln.

Prof. Dipl.-Ing. Dr. Philipp Moll

Erstbetreuer

Don't be scared of the truth because we need to restart the human foundation in truth And I love you like Kanye loves Kanye I love Rick Owens’ bed design but the back is...