So entwickelten wir eine bessere Kinderbetreuungsplattform für Kinderlime
KKinderlime bietet eine Kinderbetreuungs-App und eine Managementplattform an, die alle Geschäftsabläufe im Rahmen der Kinderbetreuung vereinfacht, sodass sich die Benutzer auf das Wesentliche konzentrieren können: die Kinder. Das Unternehmen wartet mit einer breiten Palette von Lösungen für die Verwaltung von Kinderbetreuungseinrichtungen auf, darunter kontaktloses Ein- und Auschecken, integrierte Gebührenerhebung, Tools für die Geschäftsverwaltung, Software für Hortprogramme, Personalverwaltung und vieles mehr. Kinderlime ist die Nummer 1 im Bereich der Kinderbetreuungssoftware und wird von mehr als 30.000 Kinderbetreuungseinrichtungen in den USA genutzt. Die Firma bietet ihre Dienste über eine Web-App an, welche die Hauptfunktionalität sowohl für Lehrer als auch für Eltern bereitstellt. Daneben gibt es Mobile-Apps für iOS und Android mit Funktionen für Eltern.
Schulen und Kinderbetreuungseinrichtungen waren wohl lange Zeit einer der am wenigsten von Software durchdrungenen Bereiche — zumindest vor Kinderlime. Kinderlime ist seit Kurzem ein Teil der Marke Procare und operiert als Ganzes mit dieser. Mitte 2017 wandte sich Nalin Senthamil, CTO und Mitbegründer des Unternehmens, an Evrone, um Unterstützung bei der Entwicklung von Software für die Kinderbetreuung zu erhalten.
Die Herausforderung
Das Team des Kunden war anfangs verteilt aufgestellt und befand sich in San Jose, Kalifornien, sowie Indien. Es war bereits effizient in der Lage, die Softwareentwicklung vollständig remote durchzuführen. Wir besprachen die Einzelheiten mit Nalin, und es stellte sich heraus, dass die aktuelle Rails-App-Architektur des Unternehmens gerade umgestaltet wurde sowie eine Vielzahl von Apps für Web- und Mobile-Plattformen entwickelt werden musste.
Die Herausforderung bestand darin, die monolithische Rails-App in separate Backend- und Frontend-Projekte aufzuteilen, ein API-Gateway in einer Microservices-Architektur zu verwenden und dann dieselbe API für Mobile-Clients zu nutzen. Das Team brauchte unsere Hilfe für das Frontend der App und hatte bereits seine technischen Anforderungen und ein Wireframe-Design vorbereitet, das aufzeigte, wie sich die Beteiligten jeden Bildschirm der App vorstellten. Wir waren der optimale Partner für das Projekt, da wir bereits viel Erfahrung mit ähnlichen Rails-basierten Lösungen und der Aufteilung monolithischer Rails-Apps haben.
Arbeiten mit der API
Je größer ein Unternehmen wird, desto mehr Funktionalitäten benötigt es. Man kann also gar nicht anders, als neue Modelle zu der bestehenden Rails-App hinzuzufügen — und manchmal wird daraus eben ein Monolith. Wenn man sich mit einer monolithischen Anwendung konfrontiert sieht, deren Wartung und Bereitstellung kaum noch möglich sind, muss man neue Wege beschreiten, um sie auch künftig verwalten zu können. Dazu gehört in der Regel die Aufteilung der monolithischen Rails-App in Microservices. Das war bei unserem Kunden der Fall. Es ging um ein Frontend-Projekt, das vom Backend getrennt war, und unsere Aufgabe bestand zu diesem Zeitpunkt darin, uns darauf und auf das Frontend-API-Gateway zu konzentrieren.
Um mit der API arbeiten zu können, haben wir eine Bibliothek auf Basis von Redux und Axios geschrieben. Diese verwendet ein Schema, das die Pfade zu API-Endpunkten darlegt, und sie ist in der Lage, Parameter, Funktionen zur Transformation der Anfrage und Antwort sowie die Parameter des Reducer zu beschreiben. Aus diesen Daten generiert die Bibliothek Funktionen zum Senden von Anfragen und zum Verarbeiten von Antworten, Reducer für Redux und Ereignisse, auf die der Reducer reagiert. Ohne sie müssten wir den Code Hunderte Male neu schreiben, um die Anfrage zu beschreiben.
Leads-CRM-System
Da zahlreiche Benutzer — von Lehrern, Eltern und Kindern bis hin zu ganzen Schulen und Bildungseinrichtungen — auf die Kinderlime-Plattform zugreifen, wollte der Kunde verschiedene Features hinzufügen, welche die Interaktionen verbessern und die Nutzung des Dienstes erleichtern sollten. Der Kunde beabsichtigte, Funktionen eines Leads-CRM-Systems zu realisieren, darunter ein öffentliches Registrierungsformular, das Schulen erstellen, mit Ressourcen von Drittanbietern verknüpfen und zur Generierung von Leads nutzen können.
Wir haben den Builder für Online-Registrierungsformulare von Grund auf neu entwickelt. Das Formular besteht aus mehreren Abschnitten und in jedem davon gibt es sowohl herkömmliche als auch benutzerdefinierte Felder, die der Administrator erstellen kann. Lehrern ist es möglich, diese Felder im Schuladministratorbereich zu bearbeiten und benutzerdefinierte Formulare anzulegen, die Eltern dann bei der Registrierung ihrer Kinder ausfüllen.
Neben dem Online-Formular-Builder haben wir Leads Communication implementiert, die den Versand von E-Mails/SMS-Nachrichten an Leads ermöglicht. Das System ist in der Lage, Statistiken über verschickte E-Mails zu verfolgen (zugestellt, geöffnet, ausstehend usw.).
Außerdem haben wir eine Funktion für Erkenntnisse (Insights) realisiert, welche sich noch in der Testphase befindet. Insights sind jene Daten, die im Backend gesammelt und im Frontend in Form von Diagrammen angezeigt werden. Sie geben Auskunft darüber, wie viele Leads innerhalb eines bestimmten Zeitraums zu Kunden geworden sind (Konversion).
Es gibt zwei Arten von Diagrammen:
- Die Pipeline, die veranschaulicht, wie viele Leads zu einem bestimmten Zeitpunkt jedem Lead-Status zugeordnet sind.
- Der Trichter, der den Weg des Kunden durch den Lead-Prozess abbildet. Er zeigt, wie viele Leads den gesamten Vorgang durchlaufen und wo im Konversionsprozess andere Leads wegfallen.
Beide Diagramme können nach einem unterschiedlichen Satz von Parametern gefiltert werden.
E-Mail-Kampagnen-Builder
Auf Wunsch des Kunden haben wir einen Online-E-Mail-Builder implementiert, der es dem Administrator ermöglicht, benutzerdefinierte E-Mails zu erstellen, Mailinglisten zu organisieren und E-Mails automatisch an Eltern zu verschicken, deren Kinder bereits in Schulen angemeldet sind. Die generierten E-Mails sind Client-übergreifend kompatibel, d. h. sie können in fast jedem Client wie Outlook, der Apple Mail-App, Gmail usw. korrekt geöffnet werden.
Sowohl die Schulen als auch Kinderlime waren sehr zufrieden mit dem Leads-CRM-System und der E-Mail-Builder-Funktionalität. Wir arbeiten derzeit an weiteren integrierten Lösungen zur Einbindung der Eltern, einschließlich der Implementierung von E-Signaturen, die es der Zielgruppe ermöglichen, von Lehrern erstellte Dokumente innerhalb des Systems zu unterzeichnen (oder die Unterzeichnung abzulehnen).
Technologiestack
Das Projekt verwendet Hunderte verschiedene Formulare, um unterschiedliche Einheiten (Schüler, Eltern, Konten, I/O, Fakturierungspläne, Mailings usw.) zu erstellen und zu bearbeiten. Um Zeit zu sparen, haben wir eine Bibliothek entwickelt, mit der sich die Formular- und Feldvalidierungen schnell und deklarativ beschreiben lassen. Sie spart an vielen Stellen Hunderte Zeilen Code ein und kommt auch im Formular-Builder zum Einsatz.
Wir haben React für die Entwicklung des UI, Redux für die Zustandsverwaltung und Webpack für den Build verwendet. Was die Dienste von Drittanbietern betrifft, so haben wir Stripe und eine Drittanbieter-Bank genutzt, um Zahlungen von Mobile-Clients in der Webview zu ermöglichen. Darüber hinaus kam React DND zum Einsatz, um Drag-and-drop im E-Mail-Builder zu implementieren.
Eines der neuen Tools, die wir zum ersten Mal genutzt haben, war Cypress, das End-to-End-Testing-Framework. Jetzt werden 90 % der Hauptfunktionen durch diese Tests abgedeckt. Wir mussten das Framework von Grund auf erlernen, bevor wir es für e2e-Tests vor Release einrichten konnten.
Wir setzten zudem auf CircleCI für kontinuierliche Integration, AWS für Cloud-Speicher und Intercom für die Realisierung von Kundenbeziehungen.
Das Ergebnis
Im Gegensatz zu anderen Softwareentwicklungsfirmen verbindet Evrone die Ingenieure direkt mit dem Team des Kunden — ganz ohne unnötiges Projekt-Middle-Management. Diese Methode hilft uns und unseren Kunden, bessere Ergebnisse zu erzielen, da sie Fehlkommunikation beseitigt, welche oft aus der Informationsübermittlung durch einen Mittelsmann resultiert. Dieser Ansatz ermöglichte es dem Kinderlime-Team, einen nahtlosen Kommunikations- und Entwicklungsprozess über sämtliche Zeitzonen hinweg einzurichten, was letztlich zu einem fantastischen Produkt führte.
Wir halfen dem Kunden bei der Realisierung einer effizienten Teamerweiterung und bauten eine großartige Beziehung zum Team von Kinderlime auf. Diesem gelang es, zunehmend mehr Kunden für seine Plattform zu gewinnen — ein direktes Ergebnis der exzellenten Oberfläche und der nützlichen neuen Features, die wir gemeinsam erarbeitet haben. Falls Sie planen, eine EdTech-Lösung für Ihr Unternehmen zu entwickeln, können Sie sich gerne über das unten stehende Formular mit uns in Verbindung setzen.