
Es soll ein Konsolen-Programm entwickelt werden welches die grundlegenden Datenbankoperationen Create (Datensatz anlegen), Read (Datensatz lesen), Update (Datensatz aktualisieren) und Delete (Datensatz löschen), Akronym CRUD, zur Verwaltung einer Sammlung beherrscht. Eine globale Variable mit einem Slice von Datenstrukturen soll zur Verwaltung der Daten genutzt werden. Das Programm soll in der Lage sein beliebig oft Datensätze anlegen und löschen zu können. Die Datenstruktur soll mindestens 5 Werte unterschiedlicher Art enthalten (z.B. Titel, Preis, Laufzeit, Jahr, etc.). Es soll möglich sein die Werte von angelegten Datensätzen einzeln zu ändern. Außerdem soll das Programm in der Lage sein alle Datensätze in eine CSV-Datei zu speichern und aus einer CSV-Datei zu laden. Wenn dem Programm beim Start ein Dateiname übergeben wird, soll diese CSV-Datei direkt geladen werden. Das Programm darf bei Fehleingaben nicht abstürzen. Eine Hilfefunktion soll die vorhandenen Befehle auflisten.
Die Anwendung soll zusätzlich die Möglichkeit bieten nach einer Text-Eigenschaft (z.B. Titel oder Name) zu suchen. Es soll auch nur ein Teilstring gefunden werden können (Funktion strings.Contains) und die Groß- und Kleinschreibung soll keine Rolle spielen.
Die Anwendung soll außerdem die Möglichkeit bieten die gesamte Sammlung als Tabelle in eine HTML-Datei zu exportieren.