Portfolio

Mobile Anwendung für Patienten mit Diabetes

Implementierung einer Mobile Anwendung für Android und iOS, speziell für Patienten mit Diabetes. Die Hauptfunktionen der App sind die Integration per Bluetooth mit Geräten wie Insulinpumpen, Blutzuckermessgeräten (BGM) und dem kürzlich hinzugefügten Dexcom G6™ (CGM) System, das eine kontinuierliche Blutzuckerüberwachung durch ein kleines Pflaster-ähnliches Gerät ermöglicht.

Die App ermöglicht die Überwachung der Therapie über das Dashboard, auf dem alle wichtigen Informationen angezeigt werden, sowie über ein Logbuch und Statistiken. Der Benutzer hat die Möglichkeit, Daten in lesbaren Formaten zu exportieren – in PDF oder CSV. Nebenbei erlaubt die App (aber erfordert nicht) die Erstellung eines Online-Kontos zur Datensicherung, auf das der Arzt über eine dedizierte Software zugreifen kann.

Aus technischer Sicht ist die App in Xamarin Native geschrieben (nicht zu verwechseln mit Xamarin.Forms). Dank dieser Technologie teilen sich Android- und iOS-Apps eine gemeinsame Logik und schnelle sowie zuverlässige, nativ geschriebene Benutzeroberflächen. Die App ist komplex und wurde über einige Jahre entwickelt. Insgesamt besteht sie aus rund 70 Teilprojekten und über 1,3 Millionen Zeilen Code in C#/.NET.

Bäckerei-Ofen-Verwaltungssoftware

Projekt für unseren Kunden aus der Industrie im Bereich der Herstellung von Backöfen

Herausforderung

Das Projekt konzentriert sich auf Ofenverwaltungssoftware. Wir sind einem Team beigetreten, das bereits ein funktionierendes Produkt hat, das jedoch Optimierung und Weiterentwicklung neuer Funktionen erfordert. Das Gerät arbeitet in der Debian 9 Stretch-Umgebung und verwendet MQTT- und REST-Standards für lokale und externe Kommunikation. Das Hauptprogramm läuft auf C++14 zusammen mit QT und QML für die grafische Benutzeroberfläche.

Lösung

Wir dokumentieren genau jede Änderung, die wir vornehmen, und versuchen, neue Lösungen oder mögliche Aktualisierungen der aktuellen zu diskutieren. Es gibt Pläne, den Prozess der größeren Überarbeitung durchzuführen, um die neuesten Versionen der verwendeten Tools zu erreichen, wie zum Beispiel den Umzug auf Debian 10, die Nutzung des Swagger-Generators für die REST-Server-Generierung, die Nutzung des YOCTO-Projekts, die Verbesserung unserer agilen Teamarbeit und die Abdeckung des Großteils des Codes mit Tests.

In der Zukunft möchten wir auch mehrere Öfen verschiedener Typen gleichzeitig unterstützen und sie von mobilen Geräten aus steuerbar machen.

Anwendung für die Herstellung von feuerfesten Waren

Anwendung für unseren Kunden aus der Industrie, der feuerfeste Produkte herstellt.

Herausforderung Wir wussten von Anfang an, dass ein System, das eine Vielzahl verschiedener Branchen bewältigt, für den täglichen Arbeitsablauf unseres Kundenunternehmens von entscheidender Bedeutung sein würde und auf höchstem Niveau funktionieren muss.

Lösung Um solche Ziele zu erreichen, haben wir uns für die bekannte PostgreSQL-Datenbank und die Kotlin-Sprache mit Spring und Hibernate im Backend entschieden, kombiniert mit unseren Bibliotheken, die den Datentransferbereich und die Endpunktservices-Generierung für das Frontend-SPA verwalten. Auf der anderen Seite verwendet das Frontend Angular 11 mit der TypeScript-Sprache in Version 4.0.5.

Diese Tools ermöglichen es uns, ein zuverlässiges, skalierbares System zu entwickeln, das direkt auf die Bedürfnisse unseres Kunden zugeschnitten ist. Um sicherzustellen, dass es das ist, haben wir das Projekt mit der Planungsphase initiiert, die in Prozessdiagrammen, Frontend-Mock-ups und Datenbank-Entity-Relationship-Diagrammen resultierte.

Mit vielen noch bevorstehenden Herausforderungen, da das Projekt weiterhin wächst, ermöglicht die Grundlage aus starken und gut dokumentierten Technologien in Kombination mit einem leidenschaftlichen Team von Entwicklern, dass wir die fortschrittlichsten Lösungen liefern können.

Software Cluster für Big Data Anwendung

Für Unternehmen aus den Bereichen Messdatenmanagement, -analyse und -visualisierung haben wir Software für Betreiben einer Big Data Anwendung im Cluster entwickelt.

Herausforderung

Optimierung des Deployments und der Inbetriebnahme eines Clusters als auch die Sicherung der Arbeitskontinuität im Fall eines Ausfalls von Nodes. Sichere Administration von Prozessen via eine Admin-Konsole.

Lösung

Um den Cluster-Management Prozess zu vereinfachen, wurde jedem Node im Cluster sowohl Master- als auch Slave-Funktionsübernahme ermöglicht. Dies eliminiert die Notwendigkeit, zwei unterschiedliche Deployments, für Master und Slave, auf jeder Betriebssystembox im Netzwerk auszuführen.

Dadurch wurde auch die Wiederherstellung des Masters nach einem Master-Node Ausfall gesichert.

Ausführung aller Managementfunktionen, wie Zuweisung des Master-Nodes zur Box oder Proxy-nahes Verhalten für gesicherte Netze, wo nicht alle Betriebssystemboxen für den Remote-Zugang offen sind und sich dadurch von Außen nicht steuern lassen, werden über das implementierte Administrationstool möglich gemacht.

Der Cluster wurde in Star-Topologie implementiert. Mit Einsatz von Load-Balancing Strategien, optimierten Deployment- und Erstellungsmechanismen erreicht er sehr gute Perfomance, die vom Kunden bestätigt wurde.

Verteiltes Dateisystem Messdatenhaltung und -management

Für unseren Kunden aus den Bereichen Messdatenmanagement, -analyse und – visualisierung haben wir ein verteiltes Dateisystem für Messdatenhaltung und -management entwickelt.

Herausforderung

Unsere Aufgabe bestand darin, den Zugang zu sehr großen Datenmengen den Rechenoperationen auf hochperformante Art und Weise zu ermöglichen.

Lösung

Entwicklung eines verteilten Dateisystems in Star-Topologie, das Java NIO kompatibel und hoch skalierbar ist. Das System ermöglicht Replikationen und Umverteilung von Dateien, um die ausgewählten Laufwerke aufräumen, gänzlich entfernen oder nahtlos dazuschalten zu können.

Lagerverwaltung + Onlineshop

Für unseren Kunden aus der Pharmaindustrie haben wir ein komplettes Asset Inventory Management System implementiert.

Herausforderung

Eine benutzerfreundliche, an interne Systeme gekoppelte und mit einem breiten Portfolio an Funktionen ausgestattete Software zur Bestandsaufnahme und zur kostenoptimierten Freigabe von im Konzern gelagerten Maschinen und Geräte zur Verfügung zu stellen.

Lösung

Bevor wir mit der Implementierung begonnen haben, wurde von unserem Team eine Bestands- und Anforderungsanalyse mit dem Kunden durchgeführt.

Das System unterstützt mehrere Businessprozesse im Haus. Folgende Hauptfunktionen sind enthalten:

  • Setup des Systems
  • Durchführung der Inventur
  • Produkt/Artikel Management
  • Produkt/Artikel Abholung
  • Online Shop
  • Bestellung-Management
  • Statistiken
  • Mobile App für Android und iOS

Darüber hinaus, wurde das System mit Active Directory des Kunden integriert. Es unterstützt dynamische Rollen- und Attribut-Vergabe.
Die mobile App ist im offline Modus in mehreren Lagern verwendbar. Die Kommunikation mit Drucker und Scanner erfolgt via bluetooth.

Endkunden-Portal

Für unseren Kunden aus der Telekommunikationsbranche haben wir ein neues Endkunden-Portal implementiert, in dem die Nutzer ihre Daten, Telefon- und Faxeinstellungen sowie vertragliche Informationen selbst verwalten können.

Herausforderung

Das Ziel war vor allem Verbesserung von Usability und deutliche Erhöhung der Performance im Vergleich zu der bestehenden Lösung.  In der ersten Phase soll die bereits verwendete Datenbank erhalten werden. Die Schwerpunkte allgemein: Frontend, White Labelling, Backend, REST API und Development Prozess. Die neuen Module sollen Schritt für Schritt die alten ersetzen. Die Wahl der neuen Technologie ist nach der, durch uns erstellten Evaluierung bestimmt worden.

Lösung

Unser Team hat mit dem Kunden eine Analyse der bestehenden Anwendung und der gelebten Prozesse durchgeführt. Auf Basis des gewonnenen Know-Hows, hat das Team anschließend den verbesserten Ablauf  abgeleitet und vorgestellt. Das Produkt wurde in kleinere, lieferbare Abschnitte aufgeteilt und die Umsetzung der einzelnen Module als User Stories dargestellt. Diese Module umfassen Funktionalitäten, wie White Labelling, Neues System für Gruppen und Rollen, Profil Management, SIP-Account Management, Einzelgesprächsnachweise, Bereich für Rechnungen und viele mehr. Für jedes Modul, nach erster Akzeptanz vom Kunden, haben wir Mockups zur weiteren Abstimmung erstellt und nach erfolgreicher Abnahme, umgesetzt.

Das Frontend haben wir in Form von Single Page Application mit Hilfe von Angular Framework umgesetzt. Das Backend haben wir mit Hilfe von Laravel PHP-Webframework implementiert.

Admin-Portal

Nach der erfolgreichen Umsetzung des Customer Portals für unseren Kunden aus der Telekommunikationsbranche, haben wir einen neuen Admin Portal implementiert. Diese Applikation richtet sich vor allem an die Vertriebspartner, die ihre Endkundendaten und -einstellungen dadurch verwalten können.

Herausforderung

Das Ziel war vor allem Erhöhung der Performance der neuen Plattform im Vergleich zu der bestehenden Lösung und eventuelle Optimierung der Funktionen.

Lösung

Das Team hat zusammen mit dem Kunden die gelebten Prozesse analysiert, um entsprechende Lösung vorschlagen zu können. Der Implementierungsvorschlag wurde in Form von User Stories und anschließend, nach Akzeptanz vom Kunden, zur weiteren Abstimmung mit dem Kunden, als Mockups unterbereitet. Nach Abnahme der Mockups, erfolgte die Entwicklung der Funktionen.

Zu unseren Aufgaben haben gehört:

  • Vorschlag des neuen Designs und seine Umsetzung
  • Implementierung einer neuen Mail-Engine
  • Implementierung neuer generischen iframe Komponenten
  • Implementierung einer neuen Authentifizierungsmethode
  • Implementierung eines neuen WBCI Moduls (WITA Based Carrier Interface)
  • Implementierung einer neuen generischen Suche

 

Komplexe Betreuung unseres Kunden aus der E-Commerce Branche

Unseren Kunden, tätig in Bereichen Payment-Providing und E-Commerce Systeme, unterstützen wir bei Implementierung und Erweiterung von Zahlungssystemen.
Wir bauen jede Phase des Zahlungsflusses aus, beginnend mit der Programmierung neuer Funktionalitäten für Zahlungsterminals, über den Ausbau der Backend-Systeme , die mit mehreren Datenbanken kommunizieren, bis zum Checkout, das in Online-Shops den Einsatz findet. Darüber hinaus, entwickeln wir für den Kunden User- und Administrationsportale und erweitern die Applikation zum Betrieb des Loyalität-Programmes.

Herausforderung

Bei Einsatz von heterogenen Technologien und unter Einhaltung des kontinuierlichen und störungsfreien Betriebes der bestehenden Module, Schaffung neuer, vom Business geforderten Funktionalitäten.

Implementierung eines Checkouts, das sich mühelos in ein vom Internet-Händler ausgewähltes Portal integrieren lässt und dem Käufer anschließend viele Funktionen samt breiter Palette an Zahlungsmöglichkeiten anbietet. Das Checkout kombiniert die zwei Welten – die von E-Commerce (Internet, Mobile Applikationen) und die des stationären Verkaufs, wo POS Terminals und Kassen im Einsatz sind. Es unterstützt somit den Cross-Channel Verkauf und erhöht die Konversionsraten  durch die Möglichkeit, vom Kunden leicht und von überall aus die Zahlung vornehmen zu können.

Im zweiten Schritt, sollen wir für viele existierende Applikationen des Kunden, Refactoring bzw. Neuimplementierung durchführen. Dazu war ein ausführliches Kennenlernen der gelebten Prozesse und der sich im Einsatz befindenden Systeme notwendig, was in Bezug auf Größe des Code-Repository und des hohen Grades an Code-Komplexität eine besondere Herausforderung darstellte.

Lösung

  • Implementierung neuer Payment-Schnittstellen
  • Erweiterung der Funktionalitäten von Zahlungsterminals von Ingenico in Lua
  • Implementierung eines neuen web-basierten Check-Outs,
  • Ausbau der Internet-Plattform und weiterer Module
  • Erweiterung des Loyalität-Programms

Chemotaxis – Datenanalyse und -visualisierung für einen führenden Anbieter für funktionelle zellbasierte Assays und fortschrittliche Produkte für die Zellmikroskopie

Für unseren Kunden aus dem Bereich Life-Science-Forschung haben wir Refactoring eines Tools für Datenvisualisierung und -analyse  von Chemotaxis durchgeführt.

Herausforderung

Die Performance des Tools zu optimieren mit gleichzeitiger Reduktion der Komplexität.

Lösung

Zur Beginn der Arbeiten hat das Team die bestehenden Systeme und Prozesse, verbunden mit der zellbasierten Assays, kennengelernt, um auf Basis des gewonnenen Wissens den akkuraten Lösungsvorschlag vorbereiten zu können.

Es ist uns gelungen folgende Ziele zu erreichen:

  • Reduzierung der Komplexität und Performanceoptimierung
  • Plattform-Unabhängigkeit – Portierung der Applikation auf mehrere Plattformen (PC, MAC & Linux). Behebung der optischen Differenzen
  • Erweiterung der Funktionalitäten verbunden mit dem Import der CSV-Datei. Es werden zusätzliche Separatoren wie Komma, Semikolon, Pipeline beim Import akzeptiert. Die Validierung der Datei wird deutlich erhöht.
  • Behebung des Problems verbunden mit der Verzerrung des Ergebnisses in Form einer Grafik

Projektmanagement Tool für ein Softwarehaus spezialisiert auf dem Gebiet Industrie 4.0

Für unseren Kunden, der sich auf dem Gebiet Software Services im Bereich Industrie 4.0  spezialisiert, haben wir ein Projekt Management Tool vom Scratch implementiert.

Herausforderung

Erstellung eines neuen Projekt Management Tools nach vorhandenen Spezifikation vom Kunden.

Erreichte Ziele

Auf Basis der genauen Anforderungen in Form eines Pflichtenheftes haben wir unseren Lösungsvorschlag als User Stories definiert und anschließend Mockups der Web-Anwendung entworfen.

Die implementierte Anwendung wurde vom Kunden sehr gut aufgenommen. Sie besteht aus folgenden Modulen:

  • User Management
  • Organization Management
  • Business units
  • Present maturity level
  • Consolidation of evaluations
  • Target maturity level
  • Derivation of tasks
  • View of tasks
  • Questionnaires