Community-Plattform für Live-Veranstaltungen und die Entdeckung von Talenten

Community-Plattform für Live-Veranstaltungen und die Entdeckung von Talenten

Erfahren Sie, wie Itransition die Social-Media-Plattform des Kunden aktualisiert hat, indem es die Logik für die Android-App entwickelt und die Zahlungs-, Steuer- und News-Feed-Funktionen verbessert hat.

Kontext

Unser Kunde, ein US-amerikanisches Medienunternehmen, wollte ein virtuelles Netzwerk schaffen, das Künstler, Eventmanager und Fans an einem Ort zusammenbringt. Der Kunde beabsichtigte, eine Gemeinschaft zu bilden, in der Fans mit Künstlern interagieren und ein Unternehmen finden können, mit dem sie zu Konzerten gehen können, während Eventmanager ihre Veranstaltungen koordinieren und bewerben können.

Als der Kunde seine erste Version der Plattform erstellte, bestand diese aus einem Web-Admin-Panel und einer mobilen App. Die mobile App wurde in React Native geschrieben, aber in der Entwicklungsphase konzentrierte sich das Kundenteam auf das iOS- und nicht auf das Android-System, so dass die App für Android-Nutzer nicht verfügbar war. Der Kunde wollte den Code für Android-Geräte anpassen, um ein breiteres Publikum zu erreichen.

Der Kunde war auf der Suche nach einem Anbieter, der sein Projekt abschließen und eine funktionierende Version der Anwendung veröffentlichen würde. Er entschied sich für Itransition aufgrund unserer bewährten Expertise in der Mobil- und plattformübergreifenden Entwicklung.

Lösung

Analysephase

Um den aktuellen Stand des Projekts zu verstehen, begannen wir mit einer Analyse der bereits geleisteten Arbeit. Wir sahen die Projektdokumentation und das Backlog durch, um bestehende Mängel und Verbesserungspunkte zu finden. Das Hauptproblem, das Itransition feststellte, war das Fehlen einer Projektstruktur und klarer Ziele. Um den Arbeitsprozess zu straffen und klare Projektziele festzulegen, schlugen wir vor, einen Business-Analysten einzustellen. Gemeinsam mit dem BA strukturierte und priorisierte unser Team das Backlog.

Android-Anpassungen

Während der Kunde React Native für die App-Entwicklung nutzte, erstellte er die erste Version, ohne Android-spezifische Features zu berücksichtigen.

Zuallererst erstellte unser Team eine zusätzliche Logik für die physische Zurück-Taste, die alle Android-basierten Geräte haben. Das zweite Problem, mit dem sich Itransition beschäftigte, war die Verwendung von modalen Dialogen, da das Android-System diese nicht unterstützt. Ein modaler Dialog sieht aus wie ein zusätzliches Fenster, das oben auf dem Bildschirm einer App auftaucht. Nachdem der Benutzer einen modalen Dialog geschlossen hat, kann er wieder mit dem App-Bildschirm interagieren. iOS-Geräte haben keine Probleme mit modalen Dialogen, da iOS keine physische Zurück-Taste hat. Wenn ein Android-Benutzer jedoch ein modales Dialogfeld durch Drücken der Zurück-Taste schließt, kehrt er zum vorherigen Bildschirm zurück, nicht zu dem, auf dem er es geöffnet hat. Außerdem verbrauchen modale Dialoge mehr Speicher, da das Gerät zwei Fenster gleichzeitig darstellen muss, was die Anwendung verlangsamen kann. Unser Team hat diese Probleme durch die Verwendung nichtmodaler Dialoge gelöst und damit die Gesamtgeschwindigkeit der Anwendung verbessert.

Zahlungsmodul

Nach der Durchführung der Analyse und der Festlegung der Projektziele konzentrierte sich unser Team auf die Beseitigung von Altlasten und die Implementierung neuer Funktionen für das Zahlungsmodul. Da die Plattform aus vielen verschiedenen Modulen bestand, erstellte Itransition eine Bibliothek für Front-End-Komponenten, um diese in den Modulen wiederzuverwenden und zeitsparender zu gestalten.

Als Itransition mit dem Projekt begann, funktionierte das Zahlungssystem nicht richtig. Um mit der Plattform arbeiten zu können, mussten die Unternehmen eine Abonnementgebühr zahlen, und das Zahlungsmodul konnte die Zahlung nicht unterstützen. Unser Team hat den Code umgeschrieben und ein Zahlungsmodul entwickelt, das sowohl Ticketkäufe als auch Abonnementtransaktionen unterstützt.

Ein weiteres Problem, das wir behoben haben, waren asynchrone Transaktionen, die auftraten, wenn mehrere Kunden versuchten, das gleiche Ticket zu kaufen. Wir verhinderten dies, indem wir das Ticket auf der Seite des Betreibers sperrten, während die Zahlung durchgeführt wurde.

System zur Steuerberechnung

Da der Kunde hauptsächlich in den USA tätig ist, muss er zahlreiche Steuerberichte berechnen und einreichen, da die einzelnen Bundesstaaten unterschiedliche Steuerrichtlinien haben. Außerdem müssen die Steuern je nach Lieferadresse der einzelnen Bestellungen berechnet werden. Ohne ein geeignetes Steuerberechnungssystem verbrachten die Buchhalter des Kunden Stunden mit der Berechnung von Steuern und der Erstellung von Monatsberichten.

Um den Prozess zu automatisieren und menschliche Fehler zu minimieren, schlug Itransition vor, eine externe Software für die Steuererfüllung einzusetzen. Nach einer umfassenden Analyse und einem Vergleich schlug Itransition Avalara als die Software mit der größten globalen Reichweite vor. Während andere Systeme nur von der US- oder der EU-Steuerbehörde unterstützt werden, ist Avalara in mehr als 190 Ländern integriert, was sehr viel ist, zumal der Kunde plante, neue Märkte zu erschließen. Mit Avalara anstelle von mehreren Diensten würden weniger Abhängigkeiten entstehen, und wir könnten in allen Regionen das gleiche Serviceniveau erwarten.

Payment modules

Dank Avalara mussten wir nicht eine ganze US-Steuerdatenbank in das Kundensystem integrieren, aber wir mussten trotzdem einen Weg finden, alle Produkte und Dienstleistungen auf der App mit ihren Steuercodes zu verbinden. Das war ein Problem, wenn man bedenkt, wie viele und wie unterschiedliche Unternehmen (Künstler und Labels, Sportstätten, Kinos usw.) auf der Plattform präsentiert wurden. Der Hauptgrund, warum jedes Produkt gekennzeichnet werden sollte, ist, dass jeder US-Bundesstaat unterschiedliche Steuern auf ein und denselben Artikel erheben kann. Schließlich entwickelte das Team von Itransition einen Algorithmus, der den in der App angezeigten Produkten dauerhafte Codes zuordnete.

Der Algorithmus wies die Codes anhand von vier Regeln zu:

  • Produkthersteller - es kann sich entweder um ein Produkt des Kunden (z.B. ein kostenpflichtiges Abonnement) oder um ein Produkt eines Drittanbieters (jedes andere Produkt oder jede andere Dienstleistung, die nicht vom Kunden hergestellt wurde) handeln;
  • Der Produkttyp: Abonnement, Veranstaltungsticket usw.;
  • Produktkategorie (z.B. Sport - Fußball);
  • die Unterkategorie des Produkts (z. B. Football - NFL);

Durch die Implementierung von Avalara und die Entwicklung eines Algorithmus zur Code-Zuweisung lieferte das Itransition-Team ein schnell funktionierendes Steuerberechnungsmodul, das die Steuerbeträge für jedes Produkt sofort berechnet und direkt im Warenkorb des Kunden anzeigt. Dank dieses Moduls konnte der Kunde die automatische Einhaltung der Steuervorschriften sicherstellen und den Prozess beschleunigen.

Belohnungsprogramm

Der Kunde wollte, dass die Kunden die App als Social-Media- und Einkaufsplattform nutzen, während die Unternehmen sie als Verkaufs- und Werbeplattform verwenden. Um die Kunden bei der Stange zu halten, beschloss er, ein Belohnungsprogramm zu entwickeln.

Unternehmen zahlen Dollar auf ihr Prämienprogrammkonto ein und stellen eine Liste mit Prämienanforderungen auf. Wenn ein Kunde die Prämienanforderungen erfüllt und Punkte für das Prämienprogramm erhält, wird das Geld aus der Einzahlung für eine Prämie in Bonuspunkte umgewandelt und auf das Konto des Kunden überwiesen. Dann kann der Kunde seinen Bonus verwenden, um etwas auf der Plattform zu kaufen. Wenn ein Kunde den Kaufvorgang einleitet, werden die Bonuspunkte wieder in Dollar umgewandelt, und dann summiert das Zahlungssystem das Geld des Kunden und die aus den Boni umgewandelten Punkte und kauft das Ticket von einem Anbieter mit echtem Geld.

Rewards module

Der Übergang schlug auch zusätzliche Belohnungsbedingungen vor, wie z. B. Anmeldung, Besuch von Partnergeschäften/-verkaufsstellen, Einkäufe bei Partnern, Einladung von Freunden zum Anbieter, Teilen eines Beitrags (intern oder extern) usw.

Nachrichten-Feed

Da die Anwendung auch ein soziales Medium sein sollte, wollte der Kunde, dass jeder Benutzer ein persönliches Profil hat, mit der Möglichkeit, Beiträge zu erstellen und zu teilen, Geschichten zu erstellen und Kommentare, Likes usw. zu hinterlassen. Darüber hinaus wollte der Kunde einen News-Feed für Unterhaltungs- und Marketingzwecke einrichten. In diesem Feed sollten alle Arten von Beiträgen, Veranstaltungen und Kontovorschläge von Künstlern für jeden Kunden zusammengefasst werden. Der Kunde wollte jedoch die Kontrolle über den Feed der Nutzer haben, damit dieser nicht mit einer Art von Inhalten übersättigt wird.

Für die erste Version der App implementierte der Kunde einen einfachen Algorithmus, bei dem er eine Menge an Inhalten für jede Art von Posting festlegte, und der Feed wurde dementsprechend in Echtzeit erstellt, wenn der Endkunde einen News-Feed-Tab in der App öffnete.

Diese Art der Feed-Erstellung war langsam und unflexibel, denn wenn der Kunde den Anteil oder die Menge des Inhalts für jeden Block ändern wollte, mussten die Entwickler diesen Teil des Codes neu schreiben. Außerdem überlastete dieses Modul oft das System während der Ausführung, was zu einer vollständigen oder teilweisen Abschaltung der App führte.

Um das Problem der Überlastung zu lösen, schlug unser Team einen anderen, flexibleren Ansatz vor. Itransition schrieb einen neuen Algorithmus, der jedem Inhalt eine Bewertung nach der Anzahl der Aufrufe, Likes oder Kommentare über einen bestimmten Zeitraum gibt. Die Inhalte werden bewertet und dann von der höchsten bis zur letzten Bewertung sortiert. Auf diese Weise kann der Newsfeed schneller erstellt werden, so dass der Endnutzer eine besser funktionierende App erhält und der Kunde kontrollieren kann, welche Metrik bei der Bewertung Vorrang hat.

Technologien und Werkzeuge

Das Projekt nutzt React JS für die Webentwicklung und React Native für die Entwicklung mobiler Apps, um ein konsistentes Nutzererlebnis auf allen Plattformen zu gewährleisten. Node.js wird als Backend-Laufzeitumgebung mit einem serverlosen Ansatz verwendet, der Skalierbarkeit bietet und den betrieblichen Aufwand reduziert.

AWS Lambda ermöglicht serverloses Computing, während AWS ECS Funktionen zur Container-Orchestrierung bietet. AWS Aurora dient als skalierbare und zuverlässige relationale Datenbank, während AWS S3 für sichere und skalierbare Objektspeicherung verwendet wird. AWS SQS und AWS SNS ermöglichen Messaging und asynchrone Kommunikation zwischen Systemkomponenten. AWS CloudFront wird für die Bereitstellung und Zwischenspeicherung von Inhalten eingesetzt, um die Leistung zu optimieren.

Die Infrastruktur als Code wird mit Terraform für eine effiziente Ressourcenbereitstellung und -verwaltung verwaltet. Firebase wird für Authentifizierungs- und Deep-Linking-Funktionen verwendet. Mapbox stellt Karten und standortbezogene Dienste zur Verfügung. Das Projekt unterstützt sowohl REST als auch GraphQL für eine flexible API-Kommunikation. Stripe ist für die nahtlose Zahlungsabwicklung integriert, und Avalara wird für die Steuerberechnung und -berichterstattung verwendet.

Ergebnisse

Itransition lieferte eine voll funktionsfähige Social-Media-Plattform für den Kunden, und der BA half bei der Strukturierung des Projekts, was dazu führte, dass das Projekt dreimal so schnell durchgeführt werden konnte.

Nach der Veröffentlichung stiegen die täglich aktiven Nutzer (DAU) im ersten Monat um 40 % und die monatlichen Einnahmen verdoppelten sich. Außerdem reduzierte das Steuerberechnungssystem den Zeit- und Arbeitsaufwand für die Buchhalter des Kunden um das 30-fache.