Zu Beginn eines jeden Entwicklungsprojektes ist es wichtig das Datenmodell zu definieren. Aus diesem Grund war es auch für das SMN Team entscheidend, dies in einem frühen Projektstadium durchzuführen. Grundsätzlich soll für die erfolgreiche Indoor Navigation ein Bild des Grundrisses gespeichert werden, auf dem ein Netz mit vielen Kanten abgebildet wird. Diese Kanten repräsentieren die Laufwege des Kunden. Außerdem sollen die elektronischen Etiketten eine genaue Position erhalten. Jedes elektronische Etikett wird mit einem Artikel verknüpft und wird von einem einzigen Mikrocontroller verwaltet (hier ein Raspberry Pi). Damit dem Kunden die Suchfunktion später erleichtert wird, soll jeder Artikel über eine Kategorie verfügen (z.B. Artikel: Banane, Kategorie: Obst).

Datenmodell

Die Implementierung innerhalb von Java und Spring erfolgte mit der @Entity Annotation und für jede Entität wurde ein eigenes Repository angelegt, um die CRUD Operationen später durchführen zu können. Die aktuelle Abbildung des Datenmodells in Programmcode wurde bis auf die Entitäten „Kunde“ und „Markt“ vollständig durchgeführt. Auf diese Implementierung wurde bislang verzichtet, da eine Anmeldung im Verwaltungsfrontend und die eindeutige Feststellung der Kundenidentität, aus heutiger Sicht als zu umfangreich eingeschätzt wird.

Die beispielhafte Identität „Artikel“ wird in Java folgendermaßen abgebildet:

Datenmodell