Elinext. Entwicklung eines Tools zur Datenvisualisierung

Elinext. Entwicklung eines Tools zur Datenvisualisierung

Information
Standort:
Weltweit
Branche:
Weiteres
Plattform:
Webanwendung
Arbeitsmodell:
Zeit und Materialien
Projektdauer:
Laufendes Projekt, seit 2021
Team-Mitglieder:
1 BE-Entwickler, 1 FE-Entwickler, 1 QA-Ingenieur, 1 BA
ID:
352
Verwendete Technologien
Java
Spring
Javascript
Prime NG
Angular v15
MongoDB
TypeScript
Docker

Kunde

Elinext ist ein Unternehmen für kundenspezifische Softwareentwicklung, und dieses Projekt ist unser internes. Wie viele andere Lösungen, die wir für unser Ökosystem entwickeln, zielt auch dieses darauf ab, den Alltag der Mitarbeiter zu vereinfachen.

Der Kern der Software kann und wird wahrscheinlich verwendet werden, um die Entwicklung eines verwandten kundenspezifischen Produkts für unsere Kunden zu beschleunigen.

Neue Kunden bei Elinext sparen erhebliche Teile ihrer Ressourcen, indem sie sich für eine angepasste Version eines bereits vorhandenen Produkts entscheiden.

Projektbeschreibung

Die Elinext Datenvisualisierungsanwendung ist ein praktisches Tool, um die notwendigen Daten aus verschiedenen externen Quellen zu beschaffen und zu bearbeiten.

Webanwendungen zur Sammlung und Bearbeitung von Daten aus Drittsystemen zielen darauf ab, die Daten in den benötigten Formaten darzustellen. Hier ist die geplante Funktionalität:

  • Erstellung von Tabellen, die Daten an einem Ort sammeln
  • Verwaltung der Anzeige und Reihenfolge der vorhandenen Felder
  • Konfigurieren erweiterter Filter und Sortierparameter
  • Anwenden von Aggregationen innerhalb der gefilterten Daten
  • Erstellung von Gantt-Diagrammen zur besseren Datenvisualisierung
  • Erstellung und Verwaltung von Dashboards zur einfachen Datenwahrnehmung
  • Verschiedene Datenanzeigen (aktuell Tabellen, in zukünftigen Versionen mehr)
  • Erstellung neuer Datenquellen für den Empfang neuer Felder
  • Zuweisung lesbarer Namen für die empfangenen Felder
  • Bearbeitung von Problem-Tickets und deren Lebenszyklus

Wir haben eine einzige Quelle gesammelter Daten für schnelle Berichte, als das Projekt realisiert wurde.

Herausforderungen

Der Grund für den Start des Projekts war die Notwendigkeit, das Ressourcenmanagement zu erleichtern und eine Quelle gesammelter Daten für schnelle Berichte zu erstellen, um Zeit bei der Suche nach Informationen an verschiedenen Orten zu sparen.

Hauptsächlich bestand die Herausforderung darin, einen kontinuierlichen Implementierungsprozess unter den Bedingungen der Teamrotation aufrechtzuerhalten. Dies ist ein häufiges Problem bei internen Projekten, da sogenannte „kommerziellen“ Projekte oft Vorrang haben.

Die Wissensweitergabe während der Teamrotation wurde durch folgende Maßnahmen erreicht:

  • Confluence-Seite mit wichtigen technischen Informationen für neue Entwickler
  • Kommentare zur Erklärung von Lösungen für komplexe technische Aufgaben
  • Verlinkte Tickets zur einfacheren Problemuntersuchung
  • Wissenstransfertreffen zwischen Entwicklern bei Teamwechseln
  • Peer-Code-Review (wenn möglich)

Komplexität des bereichsübergreifenden Zugriffsmanagements:

  • Integrationsherausforderungen aufgrund unterschiedlicher Zugriffsschemata in verschiedenen Systemen
  • Zusätzliche Schwierigkeit durch komplexe Felder und bereichsübergreifende Applets

Implementierung der Aggregationsfunktionalität in einer nicht-relationalen Datenbank:

  • Schwierigkeit bei der Implementierung von Aggregationsfunktionen in MongoDB (nicht-relationale Datenbank)
  • Herausforderungen werden durch umfangreiche Forschung und Entwicklung überwunden

Refactoring und Neuschreiben aufgrund sich entwickelnder Anforderungen:

  • Ursprünglich einfache Komponentendesigns wurden für die Erweiterung der Funktionalität unzureichend
  • Notwendigkeit zum Refactoring und Neuschreiben von Komponenten zur Handhabung komplexer Felder (einschließlich verschachtelter Objekte) und erweiterter Filterkonfigurationen

Prozess

Für die Prozesse wurde die Kanban-ähnliche Methodik verwendet, da sie am besten zu der Situation mit unbegrenzten Projektzeiten und Teamrotation passt.

Aus technischer Sicht waren viele Funktionalitäten neu für das Team und erforderten eine tiefgehende Untersuchung (Aggregation in der nicht-relationalen Datenbank, Filterung bei komplexen Feldern, bereichsübergreifendes Zugriffsmanagement, bereichsübergreifende Applets und andere).

Der Entwicklungsprozess war sehr flexibel, um den oft aufgrund zahlreicher Abhängigkeiten und Einschränkungen geänderten Anforderungen gerecht zu werden.

Es gab mehrere Versionen des Produkts, eine davon befindet sich in der Entwicklung, und die vierte ist in Planung.

Version 1

Das Projekt wurde im Januar 2021 gestartet. Das Team hatte Herausforderungen bei der Umsetzung des Berechtigungsschemas. Die erste Veröffentlichung erfolgte im März 2023, da es viele Teamwechsel gab.

Die veröffentlichte Version enthielt die Basisfunktionalität von Tabellen-Applets, einfache Filterung und Sortierung. Das Zugriffsmanagementsystem und die Integration mit einer Datenquelle waren ebenfalls bereit.

Version 1.1

Veröffentlicht im Juli 2023.

Die Zwischenversion beinhaltete Fehlerbehebungen und einige Verbesserungen der Filterfunktionalität sowie Verbesserungen bei der Darstellung großer Werte.

Version 2

Veröffentlicht im November 2023.

Die Version umfasste neue Aggregationsfunktionen, eine erhebliche Erweiterung der Filterkomponente zur Arbeit mit komplexen Feldern und Massenfeldern, Verbesserungen der Alias-Funktionalität, UI/UX-Verbesserungen, Hinzufügen von Schnellfiltern, CV-Download-Funktionalität und Funktionalität zum Filtern und Sortieren von versteckten Feldern.

Nach der Veröffentlichung dieser Version konnte die Anwendung eine echte Möglichkeit für Management- und Analysearbeiten bieten. Das Zugriffsmanagement wurde ebenfalls erheblich verbessert.

Version 2.1

Veröffentlicht im Januar 2024.

Die Zwischenversion beinhaltete Fehlerbehebungen und einige zusätzliche Funktionen: weitere UI/UX-Verbesserungen, ein Standard-Dashboard, Spaltenfilter und die Navigation zum Mitarbeiterprofil im Talents-System direkt aus dem Applet.

Version 3

Wird bald veröffentlicht.

Eine neue Art von Applet (Zeitreihen) Funktionalität wird erwartet, sowie weitere Code-Verbesserungen, UI/UX-Verbesserungen, Änderung der Reihenfolge von Datensätzen in der Liste der Dashboards, benutzerdefinierte Spaltenfilter und Applet-Beschreibungen, Konfiguration einer neuen Datenquelle (ein weiteres internes Softwareprodukt: Vacation Manager).

Außerdem ist eine große Menge an Backend-Arbeit erforderlich, um einige Prozesse zu automatisieren, die bisher manuell durchgeführt wurden.

Danach ist eine weitere Version der Anwendung geplant.

Die Projektkoordination, Prozesse, Teamlast und Ticketverteilung werden vom Business Analyst durchgeführt.

Lösung

Es gibt zwei Hauptmodule: das Benutzermodul und das Admin-Modul.

Benutzermodul

Der Teil des Systems, der den Elinext-Mitarbeitern zur Verfügung steht. Die Hauptfunktionalität sind Dashboards. Jedes Dashboard kann mit Applets ergänzt werden, die vom Administrator des Systems erstellt und veröffentlicht wurden. Der Benutzer kann seine Dashboard-Darstellung und die Einstellungen jedes Applets nach seinen Bedürfnissen konfigurieren.

Startseite

Hier kann jeder Benutzer das wichtigste Dashboard als Standard anzeigen lassen.

Meine Dashboards

Die Liste der Benutzer- und Systemdashboards. Bis zu 5 Dashboards können als Favoriten ausgewählt werden – sie werden als separate Links im Seitenmenü angezeigt. Die Liste kann sortiert und die Reihenfolge der Datensätze nach den Bedürfnissen des Benutzers geändert werden. Ein neues Dashboard kann für einen bestimmten Benutzer erstellt werden.

Dashboard-Seite

Jedes Benutzer-Dashboard kann gemäß den Zwecken des Benutzers konfiguriert werden: Layout ändern, Applets (separate Berichte mit einem bestimmten Datensatz) auf dem Board hinzufügen, löschen und verschieben. Jedes Benutzer-Applet kann unabhängig konfiguriert werden. Die Dashboards sind allgemein verfügbar und können vom Benutzer im aktuellen Modul nicht geändert werden.

Applet-Konfigurationsformular

Diese Komponente (Modalfenster, verfügbar auf der Dashboard-Seite) bietet flexible Mittel zur Datenverwaltung.

Administrator-Modul

Der Administrator bereitet Applets vor und veröffentlicht sie zur allgemeinen Nutzung. Die Funktionalität des Moduls ist nicht darauf beschränkt. Dieses Modul umfasst Support-Aufgaben, die Erstellung von System-Dashboards, die Bearbeitung von Problemen und Integrationsinformationen.

Hier ist die Liste der vom Administrator zugänglichen Funktionen:

  • Datenquellenliste
  • Detailseite der Datenquelle
  • Feld-Aliase
  • Liste der Applets
  • Detailseite des Applets
  • Arten von Applets
  • System-Dashboards
  • Tickets
  • Detailseite des Tickets
  • Zugriffshierarchie

Das Projekt ist noch im Gange und einige Funktionen sowie Verbesserungen der Benutzererfahrung und des Codes werden noch implementiert. Beispielsweise ist geplant, die Möglichkeit hinzuzufügen, die Ergebnisse der Aggregation in Form von Kreis- oder Balkendiagrammen darzustellen.

Ergebnisse

Das Endprodukt ist ein nützliches Tool zur Vereinfachung der Arbeit der Ressourcenmanager und ihrer Kommunikation mit den Mitarbeitern. Es handelt sich um ein internes fortlaufendes Projekt ohne festgelegtes Enddatum.

Aus der Sicht des beruflichen Wachstums eines professionellen Entwicklers konnte jedes Teammitglied seine Expertise in verschiedenen Technologien verbessern, verschiedene Varianten des Zugriffsmanagements kennenlernen, tief in Filter- und Aggregationsfunktionen eintauchen, mit Diagrammen und einer nicht-relationalen Datenbank arbeiten.

Was die Lösung betrifft, handelt es sich um ein tragfähiges Softwaresystem, das bereits in unserem Unternehmen verwendet wird, aber ständig verbessert wird, wenn wir Arbeitskapazitäten haben. Versionen 3 und 4 des Systems sind geplant. Weitere Ideen und Anforderungen können auftreten und werden implementiert.

 
1-118
2-112
3-93
4-78
5-70
6-50
7-42
8-37
9-28
10-23
11-25
12-19
13-11
14-7
Haben Sie vor, ein gleiches Projekt zu schaffen?
Haben Sie eine Projektidee? Lassen Sie uns darüber diskutieren
Kontakt


    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert