Willkommen bei Batta, einem Projekt im Kontext des Studienschwerpunkts Weaving the Web des Medieninformatik Masters an der Technischen Hochschule Köln.
Das Projekt baut auf dem Veedelsretter auf und soll die Idee der Plattform unter der Thematik der Nachhaltigkeit neu aufgreifen. Weitere Informationen zur Ausgangssituation können dem Wiki sowie der Webseite des Studienschwerpunkts entnommen werden.
Überblick
TH Köln
Campus Gummersbach
Fakultät für Informatik und Ingenieurwissenschaften
Steinmüllerallee 1
51643 Gummersbach
Im Rahmen des Moduls "Projekt I: Vision und Konzept" im Wintersemester 2021/2022 wurde ein Design Sprint durchgeführt und auf dessen Grundlage ein Konzept entwickelt. Sowohl Design Sprint als auch Konzept wurden im Wiki dokumentiert und sind dort abrufbar. Das Modul "Projekt I: Vision und Konzept" wurde im März 2022 mit einer Abschlusspräsentation abgeschlossen.
Im Rahmen des Moduls "Projekt II: Entwicklung" im Sommersemester 2022 wurde ein MVP entwickelt. Die Dokumentation des MVPs sowie der Projektarbeit ist im Wiki abrufbar. Das Modul "Projekt II: Entwicklung" wird im September 2022 mit einer Abschlusspräsentation abgeschlossen.
Im Rahmen des Moduls "Projekt III: Evaluation und Verwertung" im Sommersemester 2023 wurden ein Business Plan erstellt und verschiedene Bereiche der Thematik Zahlung behandelt. Die Zusammenfassung des Business Plans sowie die Dokumentation der Erkenntnisse zum Thema Zahlung sind im Wiki abrufbar. Das Modul "Projekt III: Evaluation und Verwertung" wurde im März 2023 mit einer Abschlusspräsentation abgeschlossen.
Folge den hier angegebenen Schritten, um das Projekt aufzusetzen.
Bitte installiere die folgenden Technologien und Tools, um die Entwicklung zu ermöglichen.
- Node.js (Version 14 oder 16) und npm
- Docker Desktop
- IDE/Editor (Empfehlung: Visual Studio Code)
- Git (und bei Bedarf ein Git Client der Wahl)
- Webbrowser
Um deine Entwicklungsumgebung aufzusetzen, clone zunächst dieses GitHub-Repository und öffne den Projektordner in deinem Editor. Wenn du Visual Studio Code nutzt, empfiehlt es sich, die Extensions zu installieren, die dir über den Workspace vorgeschlagen werden.
Füge anschließend die benötigten Environment-Dateien (benannt mit ".env") in den entsprechenden Ordnern ein. Du findest den Inhalt der Dateien im Discord-Channel des Teams als angepinnte Nachricht. Frage bei Bedarf ein Team-Mitglied um Hilfe. Die folgenden Ordner benötigen eine passende .env Datei:
- /strapi
Installiere die Abhängigkeiten der Anwendungen, indem du folgende Befehle ausführst:
Projektordner
npm install
Frontend
cd frontend
npm install
Strapi
cd strapi
npm install
Führe zum lokalen Starten der Anwendungen den folgenden Befehl im Projektverzeichnis aus:
npm start
Anschließend ist das Frontend unter http://localhost:3000 und Strapi unter http://localhost:2500 erreichbar.
Um einen einheitlichen Stand zu haben, wurden für die Entwicklung Dummy-Zugänge angelegt. Die Zugangsdaten für die gehostete Instanz des Projekts findest du im Discord-Channel des Teams als angepinnte Nachricht. Frage bei Bedarf ein Team-Mitglied um Hilfe. Um dich anzumelden, wenn du das Projekt bei dir gestartet hast, kannst du folgende Zugangsdaten nutzen:
Strapi Admin-Panel
- E-Mail: [email protected]
- Passwort: Gourmet1234
Das Deployment erfolgt mit Docker über den Docker Hub, indem die Images der Anwendungen in folgende Repositories hochgeladen werden:
- Frontend: https://hub.docker.com/repository/docker/mweiershaeuser/batta-frontend
- Strapi: https://hub.docker.com/repository/docker/mweiershaeuser/batta-strapi
Die Images werden anschließend mit Docker Compose aus dem Docker Hub geladen und gestartet, sodass sie unter den folgenden Adressen erreichbar sind:
- Frontend: https://batta.app
- Strapi: https://strapi.batta.app/admin
Für den Deployment-Prozess sind folgende Schritte durchzuführen:
Führe jeweils die folgenden Befehle aus:
Frontend
cd frontend
docker build -t mweiershaeuser/batta-frontend .
Strapi
cd strapi
docker build -t mweiershaeuser/batta-strapi .
Für diesen Schritt benötigst du Berechtigungen für das Repository. Lege einen Account im Docker Hub an und wende dich an ein Team-Mitglied, damit dir die entsprechenden Berechtigungen erteilt werden. Anschließend meldest du dich mit deinem Docker Hub Account bei deiner lokalen Docker-Instanz (in der Regel über die Docker Desktop GUI) an und führst folgende Befehle aus:
Frontend
cd frontend
docker push mweiershaeuser/batta-frontend
Strapi
cd strapi
docker push mweiershaeuser/batta-strapi
Wurden die Images im Repository hochgeladen, kannst du die Anwendungen auf einem Server starten. Kopiere dazu die Datei docker-compose.yaml in das Arbeitsverzeichnis auf deinem Server (via FTP) und führe dort folgenden Befehl (via SSH) aus:
sudo docker-compose up -d
Anschließend sollten die Docker-Container starten und auf folgenden Ports erreichbar sein:
- Frontend: 8070
- Strapi: 8071
Der Server kann nun entsprechend der individuellen Gegebenheiten konfiguriert werden, um die auf den Ports laufenden Anwendungen in der Regel mit einem Web-Server über Domain und TLS-Verschlüsselung erreichbar zu machen.
- Jan Kus, Railslove GmbH