Hochschule: Projekt Systementwicklung (Postbox)
Schulprojekt, Open Source
Im Vergleich zu all meinen bisherigen Projekten ist dies mit Abstand das größte. Nicht nur was den Umfang der Programmierung betrifft, sondern auch die Größe des Teams – über den Verlauf von zwölf Wochen wurde aus einer zwölfköpfigen Gruppe ein zwölfköpfiges Team.
Abbildung einer dezentralen und datenschutzbewussten sozialen Plattform auf privat genutzten Online-Speichern
Ziel des Projekts war es, eine soziale Plattform zu erstellen, bei der Datenschutz an erster Stelle steht.
Bei herkömmlichen Plattformen wie z.B. Facebook werden alle Informationen auf einem Server abgelegt, um diese für andere Nutzer zugänglich zu machen – der Server dient also als eine zentrale Informationsquelle für alle Nutzer. Dies bringt jedoch das Problem mit sich, dass man die veröffentlichten Daten (Posts, Bilder oder auch nur Freundschaften) nicht nur seinen Freunden, sondern auch dem Betreiber der Plattform zugänglich macht.
Bei Postbox wird genau dies vermieden. Statt die geteilten Daten auf einem zentralen Server des Betreibers abzulegen, werden diese verschlüsselt und in der Dropbox des Benutzers gespeichert. Nur Freunde dieses Benutzers sind dann in der Lage die gespeicherten Daten aus der Dropbox zu laden und zu entschlüsseln.
Sämtliche Funktionalität, wie z.B. Ver- & Entschlüsselung oder das Laden von Daten findet dabei direkt im Browser des Benutzers statt. Es existiert also keinerlei Kommunikation mit einem Server des Betreibers und somit erhält dieser auch zu keinem Zeitpunkt Zugriff auf die geteilten Daten.
Geplant war zudem die Unterstützung weiterer Cloud-Speicher wie z.B. Google Drive oder OwnCloud. Aus zeitlichen Gründen wurde jedoch die Entwicklung und Verfeinerung des Chats priorisiert. Die Architektur des Projekts ist jedoch bereits dafür ausgelegt worden, auch weitere Cloud-Speicher zu unterstützen.
Voraussetzungen:
- Mozilla Firefox 50 / Google Chrome 54 / Opera 41
- Dropbox-Account
Features:
- Texte & Bilder mit Freunden teilen
- geteilte Texte / Bilder eines Freundes einsehen
- alle Posts (Freunde & eigene) in einer chronologischen Timeline betrachten
- Freunde durch Austausch eines URL hinzufügen
- (Gruppen-) Chat
- Integrität
Verwendete Techniken:
- TypeScript, Angular 2
- ECC & AES-256 Verschlüsselung
- LZMA Kompression
Unser Team hatte während des Projekts viel Spaß zusammen und hat besonders im Bezug auf die Organisation & den Ablauf von Projekten viel gelernt! Ich für meinen Teil finde, dass das Projekt die interessanteste, aufwendigste und lehrreichste Veranstaltung im Verlauf meines bisherigen Studiums war.
Der Rest des Projektteams:
- Aleksejs Okolovskis (Lehrbeauftragter)
- Erkan Kondu
- Tim Kolberger
- Daniel Huth
- Fabian Spahn
- Marouane Naghmouchi
- Dennis Müßig
- Tim Bender
- Fabian Bihn
- Lukas Schardt
- Jonas P. Heß
- Ricardo Roth