auch verwendet:
- Typescript
- JavaScript
- Deno
- Vue
- MySQL / MariaDB
in finaler Version nicht verwendet:
- Angular
- Docker
- Datenbank auf Blockchain
- Zu kostspielig für ein nicht finanziertes OS-Projekt
- Krypto und Anwendung für Developer -> leider unpassend für Tracer.
-
Angular
- simple Tests / get started -> Vue erschien uns aber sympathischer.
- Anfangs Frontend von Tracer mit Vue -> kleinere Anpassungen am normalen Vue Template
- Zu Beginn Schwierigkeiten mit grundsätzlicher Struktur von Vue z.B. Position von Komponenten ändern etc.
- Daher erneut Angular ausprobiert -> Jedoch bei Vue geblieben.
-
Vue
- Vue hat doch etwas besser zugesagt, obwohl es Startschwierigkeiten gab
- gewählt wurde Vue da simple und moderne App gewünscht.
- Endgültige Entscheidung auf Vue -> da schnelle und dynamische Entwicklung möglich
-
Ionic Tabs Template
- Template -> professinelle Oberfläche und passender Aufbaus
- Probleme: Lief nich Fehlerfrei auf allen Plattformen und nicht einfach eigene Anpassungen zu machen
- Daher: Vue Projekt von Grund auf selbst aufbauen
-
Eigenes Frontend
- Aufbau Components
- Standard Buttondesign aus Mockup
- Confirmation Button
- Plugins
- QR-Scanner
- QR Generator
- Aufbau Components
-
Vuetify
- Ab gewissem Zeitpunkt nicht mehr zufrieden mit dem Aussehen der App -> auf ein Framework einigen
- Die Wahl viel auf Vuetify da:
- viele Components vorgefertigt
- Risikobewertung als „v-card“
- Tab Konzept aus Ionic Vorlage -> ebenfalls als v-buttom-navigation umgesetzt
-
weitere Learnings
- Vue UI -> Dashboard zum Entwickeln
- Analysieren anderer Projekte und Templates
- tiefergehendes Verständnis für HTML und CSS
-
Progressive Web App (PWA)
- damit auch in erster Linie Mobile User die App verwenden können
- Umsetztung mit Vue (Plugin)
- Als Components und Seiten fertig waren -> Versuch händisch das Projekt zu einer PWA zu konvertieren -> sehr viele Probleme -> einfachere Lösung: Vue UI
- In Vue UI: Plugins des Vue Projekts verwalten -> PWA Plugin installieren -> funktionierte
-
Deno als Backend (oder Node.js)
- TypeScript und Javascript überschneiden sich stark, typesafety erspart aber auf langer sicht Kopfschmerzen
- JavaScript packages funktionieren ebenfalls in Deno
- da Deno ziemlich neu ist, sind viele Probleme noch undokumentiert
- Errors müssen händisch gefixt werden, keine copy&paste quickfixes aus StackOverflow
-
Datenbanken und Datenspeicher
- Für das gesamte Projekt waren zunächst nur einige JSON Files vorgesehen
- Es stellte sich heraus, dass man als Client nicht auf .JSON Files zugreifen kann
- Zudem wäre ein solcher Speicher nur bei bestehender Internetverbindung funktionsfähig
- Im Backend wurde für eine kurze Zeit ein .JSON File zum Speichern benutzt, das Abfragen erwies sich jedoch als unnötig kompliziert
- Cookies sind nicht persistent und somit nicht zuverlässig
- Nach langer Recherche erwies sich Localbase als best performanter:
- Es erfüllt alle Anforderungen: Persistent, leicht zu bedienen und abzufragen, offline funktionalität
- Für das gesamte Projekt waren zunächst nur einige JSON Files vorgesehen
-
Pseudonymisierung
- Zunächst war geplant, allen usern einen zufälligen Hash als ID zu geben
- Zwei Probleme: Kollisionen sind möglich & so gibt es keine binäre Suche
- Mit der Bibliothek CUID konnten beide Probleme gelöst werden
- Git (auch tiefergehende Möglichkeiten)
- Github (KANBAN-Board, Issues, Aufgabenverteilung, License)
- README und Markdown
- Branches für paralleles Arbeiten
- gitignore
- flüssiges Zusammenarbeiten (wichtiges Learning für ggf. spätere (OpenSource) Projekte)
- Projektstruktur (z.B. Ordnerstruktur)
- Schreiben von Businessplänen
- Erstellen Pitch-Decks
- Erstellen Businessmodel Canvas und Value Proposition Canvas
- Logodesign
- Mockups & Wireframes erstellen
weitere Learnings und Informationen können aus unserer README entnommen werden.