# Vielen Dank für Deine Bewerbung! Um Deine Kenntnisse besser einschätzen zu können, bitten wir Dich die folgende Aufgabe fertig zu stellen. Wir haben für dich ein kleines Projekt angelegt, welches du für uns vervollständigen sollst. Hierbei handelt es sich um eine kleine Tabelle mit Daten von Benutzern. Bitte setze dich mit dem Code auseinander und erweitere die Funktionen so, dass die Aufgabenstellung, welche unten genauer erläuter wird, erfüllt ist. Hierbei kannst du frei entscheiden, ob du unsere Vorlagen erweiterst oder dir eigene Funktionen und Lösungen ausdenkst.
Die Aufgaben steigen in ihrer Komplexität. Du musst nicht zwingend zu jeder Aufgabe eine Lösung finden, auch müssen die Lösungen nicht perfekt sein. Versuch einfach dein Bestes zu geben, wir schauen uns alle Lösungen individuell an.
Bedenke bitte weiterhin, dass der Kreativität keine Grenzen gesetzt sind. Wir sind gespannt :) Die Lösung solltest Du vor Ablauf der Zeit in dieses Repository einstellen. Beachte außerdem, dass wir bei dieser Aufgabe besonders Wert auf deinen Umgang mit der Versionskontrollsoftware Git legen. Solltest Du verhindert sein, uns Feedback geben wollen oder Fragen haben, melde Dich bei uns. Sobald du deine Hausaufgabe ausgefüllt hast bitten wir dich darum noch eine kleine [Umfrage](https://forms.gle/7VKpJ4J5FnsYPPX18) zu beantworten. Die Daten werden anonymisiert erhoben und haben keinerlei Einfluss auf deine Bewertung. Sie dienen einzig und allein der Verbesserung unseres Bewerbungsprozesses. Viel Erfolg und viele Grüße von den hacking talents! ### Hinweis Ließ dir bitte vor Bearbeitung der jeweiligen Aufgabe diese **genau** durch und achte auf die Anweisungen bezüglich Git. # Deine Aufgaben ## Aufgabe 1: Klone dir zunächst das Repository und erstelle anschließend einen neuen Branch, in welchem du Aufgabe 1 bearbeitest. Die Benennung der Branches darf ganz nach deinem Ermessen erfolgen. Nun erzeuge für jeden User eine Custom ID. Die IDs sollten folgendes Muster haben: sip#Nummer Die Nummer soll bei 1 beginnen und von dort aus hochzählen. ## Aufgabe 2: Erstelle für die Bearbeitung dieser Aufgabe einen zweiten Branch, welcher von dem **main**-Branch abgeht und **nicht** den Branch aus Aufgabe 1 als Basis nutzt. Vervollständige nun die changeBackground() Funktion, sodass der Hintergrund der ersten Spalte grau und die Schrift weiß angezeigt wird. ## Aufgabe 3: Verwende zur Bearbeitung dieser Aufgabe den Branch aus Aufgabe 1. Die angezeigten Daten zeigen momentan nicht alle Daten an. Die letzten beiden Felder Email und Alter sind 'undefined'. Setzt dich mit dem Datensatz auseinander und finde heraus wie du alle Daten anzeigen lassen kannst. Als Hilfestellung wird dir der Datensatz in der Konsole im Browser angezeigt. ## Aufgabe 4: Am Ende der Tabelle soll das Durchschnittsalter der angezeigten Personen berechnet werden. Hierfür haben wir dir ein Template für eine Funktion vorgegeben. Die Funktion wird bereits richtig aufgerufen. Dein Job ist es nun die Logik korrekt zu implementieren und die Zahl an der richtigen Stelle der HTML anzeigen zu lassen. Bitte bearbeite die Aufgabe dazu in dem Branch der Aufgabe 2. ## Aufgabe 5: Ups... Leider ist den Entwicklern bei der Erstellung dieser Hausaufgabe ein Fehler unterlaufen. Es werden statt den erwarteten 15 Personen nur 14 angezeigt. Bitte bearbeite diese Aufgabe im **main**-Branch und stelle sicher, dass der Fehler behoben wird. ## Aufgabe 6: Merge nun die beiden neuen Branches aus Aufgabe 1 bis 4 in den **main**-Branch. Löse dabei jegliche aufkommenden Konflikte. ## Aufgabe 7: Die Sortierung der Tabelle beim Klicken der jeweiligen Header funktioniert noch nicht. Bitte erweitere diese Funktion, sodass die Spalten aufsteigend und absteigend sortiert werden können. Nutze Git hier nach eigenem Ermessen. Am Ende soll sich die fertig-bearbeitete Aufgabe im **main**-Branch befinden. ## Bonus Aufgabe: Solltest du das Sortieren bereits implementiert haben, kannst du gerne versuchen, diese Funktion um ein weiteres Feature zu erweitern. Unsere Nutzer haben sich Pfeile neben den Headerzellen der Tabelle gewünscht die signalisieren nach welcher Spalte und ob aufsteigend oder absteigend sortiert wird. Auch diese Aufgabe kannst du gerne nach eigenem Ermessen mit Git versionieren.