Inventory-Manager

Eine Übung in Flexibilität

Dart Flutter

Basierend auf unserer Zusammenarbeit mit der Inventarkreisel GmbH und eigentlich als theoretische Übung gedacht entsteht zurzeit ein modulares System zur Verwaltung von Inventaren.

Ein Arbeitsplatz mit Lego-Männchen

Bild von pixabay.com

In unserem Projekt für die Inventarkreisel GmbH kam die Idee auf, ein Programm zu schreiben, mit dem Unternehmen ihre Inventare verwalten können. Alle Unternehmen sind dazu verpflichtet, einen Überblick darüber zu haben, welche (insbesondere abschreibbaren) Vermögensgegenstände sie besitzen. Dazu können beispielsweise Computer, Büromöbel oder auch Maschinen gehören.

Die Idee dahinter ist, prinzipiell erstmal eine Basis zu schaffen, mit der sich so ein Inventar übersichtlich darstellen lässt. Man kann die Struktur beliebig gestalten, beispielsweise nach Standorten und einzelnen Räumen. In einer zweiten Stufe wird es dann darum gehen, die Veränderungen des Inventars auszugestalten:

  • So kann zum Beispiel eine Bewegung eines Gegenstandes von einem Büro in ein anderes nicht nur das Nachvollziehen einer Bewegung in der realen Welt sein (also der Gegenstand wurde umgeräumt), sondern auch zum Beispiel ein Auftrag an eine interne Spedition oder den Hausmeister, den Gegenstand bitte von seinem alten an den neuen Standort zu bringen.
  • Hinter einer Löschung eines Gegenstandes kann sowohl die Dokumentation einer Verkaufs oder Beschädigung stehen, als auch ein Entsorgungsauftrag an einen externen Dienstleister.

Hier gibt es viele Ansatzpunkte und - das ist uns natürlich immer besonders wichtig - hier ergeben sich auch viele kleine Ansatzpunkte für reale Projekte für die Teilnehmer:innen unserer Umschulung zum / zur Fachinformatiker:in für Anwendungsentwicklung.

Zugleich soll dieses Projekt die Teilnehmer:innen lehren, wie man Code möglichst wiederverwendbar und neutral gestaltet. Die zugrundeliegende Datenstruktur lässt sich nämlich auf viele Bereiche anwenden. Beispielsweise auf eine Rezeptverwaltung für ein Restaurant. Dann geht es zwar nicht um Moebel und Computer, sondern um Schnitzel und Salz, aber doch wiederholen sich bestimmte Muster. Aus diesem Grund ist es unser persönliches Steckenpferd zu gewährleisten, dass unser Code klar trennt zwischen allgemein einsetzbaren Komponenten und den (tendenziell eher wenigen) Bereichen, in denen wir bewusst in Richtung Unternehmensinventar denken.

Verwendete Technologien

Auch hier bleiben wir Fans der plattformunabhängigen Kombination aus der Programmiersprache Dart und dem Framework Flutter. Für uns neu war Supabase als verwendetes Datenbank-Backend und Authentifizierungslösung. Als State Management Technologie kommt Bloc zum Einsatz und wir nutzen den Service Locator GetIt. Bei der Internationalisierung verzichten wir auf übliche Packages und schreiben alles selbst. Auch das ist natürlich in erster Linie eine Übung für unsere Teilnehmer:innen. Wir versuchen bei jedem Projekt, bestimmte Funktionalitäten bewusst selber zu entwickeln, selbst wenn es effizientere Alternativen gibt.

Dafür machen wir es uns bei den reinen Datenklassen sehr einfach und setzen hier voll auf das Freezed-Package zur Code Generation.

Zukunftsperspektive

Wir werden die App-Suite kontinuierlich entwickeln, wobei unser Tempo nicht hoch ist, weil wir uns in erster Linie an unseren Teilnehmer:innen orientieren und deren Lernfortschritt steht im Vordergrund. Aber wir können uns gut vorstellen, die App dann auch irgendwann kostenlos anzubieten.

Vorheriger Beitrag

Hauptmenu
=========