Die Herausforderung
BZ.medien wollte ihren bestehenden und neuen Abonnenten zusätzlichen Mehrwert bieten. Ziel war es, eine App zu entwickeln, die über Freizeitmöglichkeiten im badischen Schwarzwald informiert. Gleichzeitig sollte sie den Nutzern ermöglichen, ihre Freizeitaktivitäten zu planen. Die App sollte bestehende Freizeit-Apps der Region ablösen. Alle relevanten Informationen sollten in einer benutzerfreundlichen Anwendung vereint werden. Eine besondere Herausforderung bestand darin, die Inhalte aus dem Content Management System (CMS) der BZ.medien Gruppe effizient zu integrieren und eine hohe Benutzerfreundlichkeit zu gewährleisten.
Die Lösung
Um das vorhandene Budget effizient zu nutzen, entschieden wir uns frühzeitig für die Entwicklung der App mit einem Cross-Plattform-Framework. Wir wählten Flutter, das von Google entwickelt wurde, da es eine schnelle und flexible Entwicklung ermöglicht. Um die Komplexität zu reduzieren und die Abhängigkeit vom kundenseitigen CMS zu vermeiden, implementierten wir eine Middleware auf Basis des Open-Source-Headless-CMS Strapi. Diese Middleware ermöglicht es dem Kunden, den Homefeed, das User-Management und zusätzliche Points of Interest unabhängig vom internen CMS zu verwalten und zu erweitern.
Wie sind wir vorgegangen?
Bei der Entwicklung der BZ-Lieblingsplätze App haben wir besonders auf die Integration der Inhalte aus dem Content-System des Auftraggebers geachtet. Diese Inhalte wurden in einer API-Middleware gecached, um eine schnelle und zuverlässige Datenverarbeitung sicherzustellen. Ein weiteres wichtiges Element war die Verknüpfung des BZ.medien-Logins mit den In-App-Käufen, wodurch den Nutzern zusätzliche Premium-Inhalte bereitgestellt wurden.
Der Prozess begann mit einem umfassenden Product Design Workshop, in dem die Anforderungen an die App definiert und anschließend in Jira Tickets überführt wurden. Ein detailliertes App-Design wurde in Figma erstellt, das als Grundlage für die Entwicklung diente. Die App selbst wurde mit dem Cross-Plattform-Framework Flutter entwickelt, welches die Erstellung einer einheitlichen Codebasis für Android und iOS ermöglicht.
Das Backend wurde mit Strapi realisiert, welches in der AWS Cloud gehostet und mit PM2 skaliert wurde. Der gesamte Code durchlief eine gründliche Überprüfung im Vier-Augen-Prinzip, um höchste Qualität und Zuverlässigkeit zu gewährleisten.
Um diesen Anforderungen gerecht zu werden, verfolgten wir eine strukturierte Vorgehensweise: Die Anforderungen wurden in mehreren Schritten verfeinert, und das daraus resultierende Design wurde als Grundlage für die App-Entwicklung genutzt. Mit der Kombination aus Flutter für die Frontend-Entwicklung und Strapi für das Backend konnten wir eine leistungsfähige und flexible App-Lösung schaffen.
Unsere Leistung im Projekt
- Fachliche Konzeption in einem agilen Projektteam mit unserem Kunden
- Durchführung Product Design Workshop
- Users Testing des Konzeptes und Auswertung
- Umsetzung und Entwicklung
- Testing + Qualitätssicherung
- Rollout
- Wartung + Weiterentwicklung
Im Projekt eingesetzte Technologien
- Flutter
- Dart
- Strapi
- React
- nodejs
- Typescript
- mysql
- PM2
- Bitbucket
- Bitbucket Pipelines
- Jira
- Confluence
- AWS EC2
- AWS S3
- AWS ECC
- AWS Data Transfer
- AmazonCloudWatch
- AWS S3
- Android Studio
- Flutter Studio
- Xcode
Um die Performance der App auch unter hoher Last zu gewährleisten, wurde das Backend speziell konzipiert und von PM2 automatisch skaliert. Dies war wichtig, da durch die medienwirksame Vermarktung der App mit vielen Erstanmeldungen gerechnet wurde.