Skip to content

otjamin/GetDressed

Repository files navigation

GetDressed

Erste Schritte

Es gibt verschiedene Möglichkeiten die App zu testen. Um es einfach zu machen haben wir eine compose.yaml erstellt, die alle benötigten Dienste enthält und eine kurze Schritt für Schritt Anleitung verfasst.

Als erstes installiere dir Docker und Node.js, falls noch nicht geschehen.

Dann kannst du das Repository herunterladen oder klonen.

Backend

Ohne Ollama (lokale Installation)

Installiere zuerst Ollama und lade gemma3 als Modell.

ollama pull gemma3

Jetzt kannst du das Backend starten.

docker compose up

Damit Ollama aus den Containern erreichbar ist, musst du es mit OLLAMA_HOST=0.0.0.0 starten.

Mit Ollama (benötigt NVIDIA Container Toolkit)

docker compose -f compose.yaml -f compose.ollama.yaml up

App

Wechsle in den mobile Ordner und installiere mit npm install alle Abhängigkeiten.

Bevor du die App starten kannst, musst du in der .env Datei die richtige IP eintragen. Wenn du die App an deinem Smartphone testen möchtest musst du die IP von deinem Computer nehmen. Für den Android Emulator musst du 10.0.2.2 eintragen.

Jetzt kannst du die App starten und ausprobieren.

npx expo start

Agents

Alle Agenten werden mit CrewAI erstellt.

Tip

Wie du CrewAI installierst und einen neuen Agenten erstellst, liest du am besten in den Docs nach.

Die App verwendet vier Agents: Outfit-, Trend-Scout-, Farb- und Stiltyp- und Wardrobe-Agent.

Testen

Du kannst die Agents auch einzeln testen. Dafür solltest du Ollama installiert und das benötigte Modell am laufen haben.

Mit uv run my_crew lässt sich dieser ausführen.

Mitmachen

Du möchtest mit an diesem Projekt arbeiten? Wir haben das wichtigste zusammengeschrieben um dir den Einstieg so einfach wie möglich zu machen.

Wir empfehlen dir mit Visual Studio Code zu arbeiten. Hierfür sind bereits alle wichtigen Einstellungen getroffen. Bitte installiere die vorgeschlagenen Erweiterungen, wenn du dazu aufgefordert wirst.

App

Die App selbst wird mit dem React Native Framework Expo entwickelt. Dafür musst du Node installieren, wenn du es noch nicht hast, und alle Abhängigkeiten mit npm install installieren. Sollten durch neue Commits weitere Pakete hinzukommen, kannst du den gleichen Befehl nutzen um diese zu installieren.

Mit npx expo start kannst du den Entwicklungsserver starten und z. B. mit der Expo Go App dir die App anschauen.

Server

Für unseren Server verwenden wir FastAPI. Überwiegend aber für unsere Agents, da wir für Auth und Datenbank Pocketbase verwenden.

Um den Server zu starten muss zuerst uv installiert werden. Das ist unser Paketmanager für Python.

pipx install uv

Falls du nicht die passende Python Version installiert hast, kannst du das auch mit uv machen.

uv python install 3.13

Mit uv sync im server Ordner können alle Abhänigkeiten installiert werden. Dabei wird automatisch eine virtuelle Umgebung erstellt.

Um die virtuelle Umgebung in VS Code zu aktivieren musst du das venv manuell auswählen mit "Enter interpreter path..." und server/.venv/bin.

Important

Bitte denke daran, dass du dich zum ausführen der einzelnen Befehle immer im dazugehörigen Ordner befinden musst; z. B. für npx expo start solltest du dich im Ordner mobile befinden.

Die Agent API kannst du zu Testzwecken mit diesem Befehl starten.

uv run fastapi dev --host 0.0.0.0

PocketBase

Wie du mit PocketBase arbeitest, erfährst du hier.

Um die Types für das Frontend zu generieren, kann pocketbase-typegen genutzt werden. Dazu wird aus dem mobile Ordner folgender Befehl ausgeführt.

npx pocketbase-typegen --db ../pocketbase/pb_data/data.db

Linter und Formatter

Wir verwenden für die App (eslint und Prettier) und das Python Projekt (ruff) einen Linter und Formatter. Der Linter hilft dabei Fehler im Code zu erkennen. Der Formatter sorgt für einen einheitlichen Stil.

Bitte achte darauf deinen Code mit den entsprechenden Tools zu formatieren.

About

An AI-powered wardrobe and style advisor. ✨

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors