GYMSNAP Fitness-Tracking

đŸ€– Technik

Nachfolgend möchten wir euch einmal transparent darstellen, welche Technik wir fĂŒr unseren App-Kosmos verwenden. Sicherlich kann man einige Dinge besser/anders machen, doch mit dem aktuellen Techstack konnten wir schnell und relativ einfach etwas LauffĂ€higes auf die Beine stellen.

Website

Die Website lĂ€uft mit einem Content-Management-System (CMS), Contao 5.5. Die Installation erfolgte hier nicht ĂŒber eine composer.json, sondern ĂŒber den Contao Manager. Spezielle Erweiterungen haben wir bisher nicht installiert, alle Container sind hĂ€ndisch angelegte Module. Das war auf der einen Seite leicht krampfig, auf der anderen Seite sind wir so freier in ihrer Gestaltung und mĂŒssen uns keine Sorgen um Updates der Erweiterungen machen. Teilweise nutzen wir noch animate.css, das Grid von Bootstrap und Icons von Font Awesome.

(Web-) App

Die App entwickeln wir mit Vue.js, einem JavaScript Framework fĂŒr Webapps. Intern nutzen wir einen Store mit Pinia fĂŒr Vue.js, allerdings speichern wir nur wenig Daten auf dem GerĂ€t/Browser selbst - sie dienen lediglich zur Datenhaltung in der App. Die App spricht nur in wenigen FĂ€llen mit der Datenbank direkt - zum einen, um Missbrauch zu vermeiden, zum anderen, da wir so Daten cachen (zwischenspeichern) und schneller ausliefern können. FĂŒr die Optik kommen teilweise Komponenten von Vuetify zum Einsatz.

Backend

Das Backend entwickeln wir mit dem JavaScript Framework NestJS. Es ĂŒbernimmt damit die Standards wie Anfragen entgegennehmen, verarbeiten und die Kommunikation mit der Datenbank. Daten werden angefragt, manipuliert und gespeichert. Um eure Daten abzusichern bekommt man pro Anfrage immer nur die DatensĂ€tze, die zu eurer Benutzer-ID gehören. Anfragen an die Datenbank mit anonymen oder fremden Daten sind so nicht möglich.

Datenbank

Die Daten werden in einer MongoDB bei Supbabase gespeichert. Supabase nutzen wir ebenfalls als Auth-Provider fĂŒr die Anmeldung und eure Benutzerdaten. In der Vergangenheit haben wir hier hĂ€ufig auch auf die Google Firebase Plattform zurĂŒckgegriffen, doch bietet uns Supabase in etwa denselben Funktionsumfang - und wir wollten etwas Neues lernen, weshalb wir uns hier nach einer Alternative umgesehen haben. Und bisher sind wir mehr als zufrieden 😀

đŸ§‘â€đŸ’» Bist du ein Developer?

Unsere Architektur erlaubt es uns, auch eine API (Programmschnittstelle) anbieten zu können. Damit könntet ihr eure eigenen OberflĂ€chen (Frontends) fĂŒr die bei uns liegenden Daten entwickeln und eigene Apps entwerfen. Da wir zur Zeit jedoch noch mit dem eigentlichen Aufbau beschĂ€ftigt sind und sich wĂ€hrend der Entwicklung noch viel Ă€ndern/umfallen kann, bieten wir diese API vorerst nicht der breiten Masse an.

Wenn du jedoch ein early adopter sein möchtest, melde dich bitte gern auf unserer Kontaktseite.