twenty-eight-days / TwentyEightDaysNative

Privacy-First Cycle Tracking App (React Native, iOS/Android)
MIT License
1 stars 0 forks source link

Kick-Off #2

Closed netzwerg closed 2 years ago

netzwerg commented 2 years ago

Kick-Off 29.11.2021 (via Teams)

Agenda

Technische Grundlagen

Bestehendes Setup

Tips

Erster Meilenstein

Management Zyklus-Startdatum

Später...

netzwerg commented 2 years ago

Ausschreibung HLS Stu Projects

Titel

Native iOS/Android Privacy-First Zyklus-Tracking App

Ausgangslage

Viele Frauen nutzen Tracking-Applikationen, um Zyklus-Daten aufzuzeichnen. Diese Daten sind sehr persönlich und deshalb besonders schützenswert. Hinter gängigen Applikationen stehen oft Firmen, deren Datenhandhabung und Interessen für die Nutzerinnen sehr intransparent sind. Gratis-Downloads und attraktive Features können dazu verleiten, dass diese Intransparenz in Kauf genommen wird, und die Daten sorglos geteilt werden. Oft fehlt zudem die Möglichkeit, die eingegebenen Daten wieder zu exportieren ("Lock-In").

Der Zyklus-Tracker "28 Days" (https://github.com/twenty-eight-days/twenty-eight-days) ist eine mobile-fähige Web Applikation, die auf einem privacy-first Ansatz basiert. Sämtliche Daten werden verschlüsselt persistiert und können auch jederzeit wieder exportiert werden. Der Applikations-Code ist open-source zugänglich (MIT Lizenz).

Das sichere Datenhandling wird momentan über den 3rd-Party Service Userbase (https://userbase.com) gewährleistet. Dies hat zur Konsequenz, dass (a) die Daten das eigene Gerät zum Speichern verlassen, und (b) eine Account-Registration erforderlich ist.

Im Rahmen einer BSc-Arbeit (Feuerhuber 2021) wurden wünschenswerte Weiterentwicklungen von "28 Days" systematisch untersucht. Dabei hat sich herausgestellt, dass Nutzerinnen eine App vorziehen würden, die:

(1) als native App installiert werden und ggf. auch offline verwendet werden kann (2) die Daten lokal auf dem Gerät speichert (verschlüsselt, ohne Account-Registration)

Ziel

Im Kontext dieser Arbeit soll die bestehende React Web Applikation in eine native App überführt werden. Dies ermöglicht u.a. die lokale Persistenz der Daten.

Die neu zu entwickelnde App soll:

(1) Technologisch mit React Native & TypeScript umgesetzt werde, da dadurch (a) bestehende Komponenten/Konzepte übernommen werden, und (b) gleichzeitig iOS & Android unterstützt werden können (2) sämtliche Daten lokal verschlüsselt speichern; Export weiterhin unterstützen (3) bestehende Visualisierungen und Interaktionskonzepte soweit als möglich übernehmen