Entwicklung eines sozialen Netzwerkes zur Etablierung von Gewohnheiten gemeinsam mit Freunden
Bei der App HabitTeam handelt es sich um eine Eigenreferenz – also ein Produkt, das von 28minds entwickelt wurde.
Inhaltsverzeichnis
Was ist HabitTeam?
HabitTeam ist eine Social-Media-App, mit der User zusammen mit ihren Freunden Gewohnheiten etablieren können. Der Nutzer kann eine Gewohnheit („Habit“) erstellen und dann Freunde dazu einladen. Darüber hinaus gibt es über die „Explore“-Seite die Möglichkeit, sich inspirieren zu lassen und andere „Habits“ zu entdecken. Bei Gefallen kann man diesen Habits ebenfalls beitreten. Erfolgreich abgeschlossene „Habits“ lassen sich in anderen sozialen Netzwerken wie Instagram und Snapchat teilen. Immer, wenn ein User einen „Habit“ abschließt, erhält er „Streak“-Punkte. Diese werden dann im Profil angezeigt.
Warum haben wir HabitTeam entwickelt?
Die Gründe für die Entwicklung unserer App lassen sich am einfachsten mit einem Zitat verdeutlichen:
„Niemand entscheidet über seine Zukunft; man entscheidet über seine Gewohnheiten, und diese entscheiden über die Zukunft“
(F. M. Alexander)
Die Wertevermittlung in den gängigen Social Networks wird von Experten kritisiert – zum Beispiel auch in diesem Artikel. Psychologen sehen in der regelmäßigen Nutzung sozialer Medien gerade bei Jugendlichen ein erhöhtes Risiko für Depressionen und Essstörungen. Das liegt daran, dass dort überwiegend eine perfekte Welt dargestellt wird, die bei den Usern ein Druckgefühl erzeugt. Wir schließen uns dieser Einschätzung an. Deshalb möchten wir mit HabitTeam ein soziales Netzwerk etablieren, das Menschen zusammenbringt und gleichzeitig dazu motiviert, sich gemeinsam für positive Veränderungen einzusetzen. Zwar gibt es bereits viele To-do-Apps, allerdings ist HabitTeam die erste App dieser Art, die eine virtuelle Zusammenarbeit mit Freunden ermöglicht.
Warum ist die Verknüpfung mit Freunden so wichtig?
Eine Studie der Psychologieprofessorin Dr. Gail Matthews kam zu einer eindeutigen Erkenntnis: Die Wahrscheinlichkeit, dass man seine Ziele erreicht, wenn man seinen persönlichen Fortschritt mit seinen Freunden teilen kann, steigt um 76,7 Prozent im Vergleich zu Einzelkämpfern.
Projektablauf
- Erstellung des Konzepts:
- Welche Funktionen muss die minimale Version von HabitTeam mitbringen?
- Auflisten aller Features
- Einteilung der Funktionen in einzelne To-dos
- Prototyping mit Figma:
- Erstellung des Designs
- Befragung der Zielgruppe
- Erstellung einer Timeline mithilfe der vorhandenen To-dos
- parallele Programmierung von Frontend und Backend
- Beta-Test
- Hochladen in die App-Stores von Apple und Google
Informationen zum Design
Die UX der App ist so einfach und intuitiv wie möglich gehalten. Wir haben eine moderne Farbpalette verwendet und auf eine Wiederverwendung der meisten Elemente geachtet. So gewährleisten wir eine starke Konsistenz. Im Design wird außerdem häufig mit Emojis gearbeitet. Viele User sind an Emojis gewöhnt, sodass diese ein vertrautes und familiäres Gefühl hervorrufen.


Technische Umsetzung
Die Programmierung der App erfolgte mit dem Framework Flutter. Fast alle Elemente der App wurden von unserem Team designt und entwickelt. Das Backend der App haben wir mit Node.JS erstellt. Als Schnittstelle zwischen dem Backend und dem Frontend kommt GraphQL zum Einsatz. Damit ist es möglich, nur Daten in die App zu laden, die aktuell benötigt werden. Das reduziert den mobilen Traffic auf ein Minimum. Der Login in die App wird mit OAuth Logins realisiert. Damit wir den Nutzer ermöglicht, sich mit Snapchat, Apple und Google einzuloggen. Dadurch wird das Aufkommen von Fake-Accounts reduziert. Darüber hinaus gibt es eine Schnittstelle, mit der Sticker für andere soziale Netzwerke erstellt werden können.

Server-Infrastruktur
Für die Server-Infrastruktur arbeiten wir mit Amazon AWS. Bei einer größeren Anzahl von Nutzern können damit die Server skaliert werden. Als Docker Container verwenden wir Node.JS, um eine einfache Bereitstellung und problemlose Updates zu ermöglichen. Außerdem setzen wir folgende AWS-Services ein:
- S3 für Nutzerdaten wie Profilbilder
- RDS mit MariaDB als SQL-Datenbank
- ELB für die Lastverteilung
Letzteres bietet uns die Möglichkeit, den Netzwerkverkehr auf mehrere HabitTeam Docker Container umzuleiten. Das erhöht die Skalierbarkeit und die Ausfallsicherheit der App.