Skip to main content

Local Setup (Without Docker)

If you prefer running services directly on your machine instead of Docker.

Backend​

cd apps/server

# Copy environment file
cp .env.example .env

# Install Python dependencies
uv sync

# Run migrations (uses SQLite by default)
uv run python manage.py migrate

# Seed default categories (18 categories)
uv run python manage.py seed_categories

# Optional: create admin user
uv run python manage.py createsuperuser

# Verify setup
uv run pytest -v

# Start dev server
uv run python manage.py runserver
# Server runs on http://127.0.0.1:8000

Mobile Client​

cd apps/mobile-client

# Install Node.js dependencies (from repo root)
cd ../..
pnpm install

# Start Metro bundler
cd apps/mobile-client
pnpm start
# Scan QR code with Expo Go, or press 'i' for iOS / 'a' for Android

Common Commands​

Backend​

CommandDescription
uv syncInstall dependencies
uv run python manage.py runserverStart dev server
uv run python manage.py migrateRun migrations
uv run python manage.py makemigrationsCreate migrations
uv run python manage.py seed_categoriesSeed default categories
uv run pytestRun tests
uv add <package>Add a dependency
uv add --dev <package>Add a dev dependency

Mobile​

CommandDescription
pnpm startStart Metro bundler
pnpm iosRun on iOS simulator
pnpm androidRun on Android emulator
pnpm testRun tests
pnpm lintRun ESLint
pnpm type-checkRun TypeScript check
pnpm db:generateGenerate Drizzle SQL migrations