Eine immer wiederkehrende Anfoderung ist der Austausch von Daten zwischen verschiedenen Systemen. Für diesen Zweck werden häufig CSV-Dateien (comma separated values) aus beispielsweise Datenbank-Exports, Kalender-Applications oder Spreadsheets verwendet.
Die Daten werden z.B. aus einem Quell-System exportiert, in einem Zielsystem importiert, aufbereitet und wieder exportiert.
Das Ziel ist die Implementierung einer Anwendung zur Verarbeitung und Aufbereitung der beiliegenden CSV-Datei. Die Aufgabe wird in folgendende Teil-Aufgaben/Funktionen gegliedert.
- Import der beiligenden CSV-Datei
- Tabellarische Darstellung der Daten aus der CSV-Datei
- Anlegen von neuen Datensätzen anhand des gleichen Schemas
- Bearbeitung bestehender Datensätze
- Prozentuale Darstellung von Datensätzen als Chart (Balken- oder Tortendiagramm)
- Export aller Daten als CSV-Datei mit dem gleichen Schema
Die Darstellung soll strukturiert und ansprechend für Benutzer sein. Farben und Schriften können frei gewählt werden. Das Frontend soll aus nur einer Seite bestehen.
Du hast freie Hand bei der Wahl der Technologien. Ob JavaScript, PHP, C#, Java etc. ist komplett dir überlassen. Setze ein was du am Besten beherrschst.
Uns ist folgendes wichtig:
- Warum hast du dich für diese Technologie(n) / Sprache(n) entschieden
- Wie sicher bist du im Umgang mit den ausgewählen Sprache(n) / Technologie(n)
- Warum hast du zum Beispiel ein bestimmtes Framework gewählt
Wir möchten wissen, wo du stehst - welchen Kenntnisstand du hast.
Die Umsetzung kann mit Hilfe von 3rd Party Libraries erfolgen. Alle verwendeten Bibliotheken (welche nicht Teil oder Dependency eines Frontend- oder Backend-Frameworks sind) müssen referenziert werden. Bitte begründe ebenfalls, warum du dich für genau diese eingesetzen Bibliotheken entschieden hast.
Bei der Umsetzung ist gut strukturierter und dokumentierter Code wichtig. Die Einhaltung von gängigen Best Practises und Coding-Style-Guidelines (abhängig von der jeweils eingesetzen Sprache / Technology) sind gewünscht.
Dein Code soll gut lesbar und verständlich sein - auch für dritte. Auch der Programmablauf soll nachvollziehbar sein.
Behalte im Hinterkopf, dass du und/oder andere auf dieser Code-Basis aufsetzen und das Projekt erweitern müssen.
Wenn du der Aufgabe fertig bist - oder nur einen Teil in der angegeben Zeit geschafft hast, kannst du uns dein Arbeitsergebnis wie folgt bereitstellen:
-
Stelle uns den Link zu deinem Code-Repository zur Verfügung
- Falls du noch keines hast, kannst du bei den führenden Anbietern (z.B. GitHub, GitLab, Bitbucket, AzureDevOps, ...) einen Account erstellen und dort dein Projekt bereitstellen.
- Bitte sorge dafür, dass die Sichtbarkeit des Repositories auf "Public" steht
-
Füge eine Kopie der beiligenden Datei Aufgabenergebnis hinzu und fülle alle Punkte entsprechend aus.
-
Wenn du eine Demo deines Projektes bereitstellen möchtest, bietet GitHub Pages einen einfachen weg.