Kundenauftrags- und Angebotssystem für einen Hersteller von Druckgeräten
Kundenauftrags- und Angebotssystem für einen Hersteller von Druckgeräten
Information
Standort:
Schweiz
Branche:
Einzelhandel und E-Commerce, Logistik und Transport
Plattform:
Web
Arbeitsmodell:
Gemischt (Festpreis-Vollzyklusentwicklung und Zeit und Materialien)
Projektdauer:
Seit 2018
Team-Mitglieder:
Ein Softwarearchitekt, ein Teamleiter, ein Senior Developer, 4 Mid-Level-Entwickler, ein Senior Quality Assurance Engineer und ein Senior Dev Ops
ID:
575
Verwendete Technologien
Java
React
Jenkins
Front-end
DevOps
Java Script

Herausforderung

Der Kunde hatte eine Anwendung zur Abwicklung von Verkaufsaufträgen und Angeboten. Die Anwendung war klobig und blockierte den gesamten Workflow. Tatsächlich handelte es sich um eine Excel-Tabelle, die mit Visual Basic-Skripten gekoppelt und mit einer Datenbank verknüpft war. Diese Excel-Tabelle hat uns zunächst verblüfft. Es wimmelte von allen möglichen Entitäten, Formeln, Abhängigkeiten und Zahlen. Die Datenbank wiederum wurde durch ein teures ERP-Tool eines Drittanbieters denormalisiert, das zum Organisieren der Daten verwendet wurde. Das Unternehmen versuchte, das System zu reparieren, indem es Änderungen mit Visual Basic vornahm – und scheiterte daran. Es war höchste Zeit, auf fortschrittlichere Technologie umzusteigen, also bat es um unsere Hilfe, um das System wieder aufzubauen.

Lösung

Elinext beauftragte zwei separate Teams mit der Entwicklung des Frontends und Backends für dieses Projekt. Diese Teams haben die Scrum-Methodik befolgt und von Anfang an eng mit dem Kunden zusammengearbeitet. Wir haben jeden Tag über news-Apps gechattet und uns mittwochs per Videolink getroffen. Der Kunde hat auch Tickets für uns in Jira eingereicht. Wir haben Java zusammen mit Spring Cloud verwendet, um die Anwendung zu erstellen. Durch das Projekt entwickelte sich die Architektur von einem Monolithen zu Microservices, die das schwere ERP-Tool nach und nach ersetzten. Das hat die Bewerbung erheblich beschleunigt. Die Benutzer der Anwendung sind die Mitarbeiter, Händler und Vertriebsmitarbeiter unserer Kunden. Wir haben ein Benutzerrollensystem aufgebaut, in dem ein Administrator einem Benutzer mehrere Rollen zuweisen und die ihm zur Verfügung stehenden Funktionen festlegen kann. Werfen wir einen Blick auf diese Funktionen.

Angebote und Bestellungen

Abhängig von ihrer Rolle können Benutzer Angebote erstellen und bearbeiten und Details wie Kunden- und Artikeldaten verwalten. So funktioniert das: Ein Verkäufer erstellt ein Angebot und sendet es zur Genehmigung an seinen Vorgesetzten. Der Manager kann das Angebot genehmigen und in einen unveränderlichen Auftrag umwandeln oder es ablehnen und zur Korrektur zurücksenden.

Vorlagen

Wir haben Bestell- und Angebotsvorlagen aktiviert, um den Arbeitsablauf zu optimieren. Zur Erstellung eines Dokuments können zwei Sprachen verwendet werden: Deutsch und Französisch.

Gewinne und KPIs

Regionale Distributoren und Handelsvertreter können ihre Gewinne im System berechnen. Und Aufsichtsbenutzer können die Leistung der Handelsvertreter basierend auf der Anzahl der pro Monat bearbeiteten Angebote und Bestellungen sehen.

Kosten-pro-Seite-Berechnung

Wir haben auch einen Microservice entwickelt, der die Kosten pro Druckseite berechnet. Ein Controller führt über 300 Berechnungen durch und Benutzer können die Ausgabe als CSV-Datei exportieren. Metriken wie diese helfen Vertriebsmitarbeitern, dem Kunden den Wert des Produkts zu zeigen.

Fehlerbeseitigung

Ein anderer Microservice importiert Fehlerdaten aus der anderen Quelle des Clients über die API, listet diese Fehler auf und behebt automatisch diejenigen, die nicht kritisch sind. Das Erstellen wurde zu einer eigenen Herausforderung, da der Kunde uns bat, Visual Basic-Code zurückzuentwickeln. Dazu mussten wir einige Dinge mit Visual Basic klären. Wir haben zahlreiche Bugs und Fehler im Backend der ursprünglichen Anwendung auf der Kundenseite gefunden und den Kunden davon überzeugt, uns damit umgehen zu lassen.

Ergebnis

Wir haben das Projekt innerhalb des Budgets und der Zeit geliefert. Darüber hinaus haben wir bewiesen, dass kundenspezifische Entwicklung billiger sein kann als die Verwendung einiger Unternehmenstools von Drittanbietern. Die neue Anwendung arbeitet so schnell wie möglich. Anwendungsbenutzer haben neue Funktionen, die ihnen helfen, mehr zu verkaufen und mehr von den Verkäufen zu profitieren, die sie tätigen. Die Arbeiten am Kundenauftrags- und Angebotssystem sind jedoch noch nicht abgeschlossen. Zum jetzigen Zeitpunkt haben wir mehr als zehn neue Versionen in der Entwicklung, und der Kunde bringt immer wieder neue Ideen für das Produkt ein.
sales1
sales2
sales3
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