2
Developer Setup
Daniel Krähenbühl edited this page 2026-05-20 08:26:32 +02:00

Developer Setup

Voraussetzungen

  • WSL2 (Ubuntu) auf Windows — oder direkt Linux/macOS
  • Python 3.12
  • Node.js 20+
  • PostgreSQL
  • Git

Repository klonen

git clone ssh://git@codeberg.org/Armarium-Suite/armarium-suite.git
cd armarium-suite

Backend Setup

cd backend

# Virtuelle Umgebung erstellen und aktivieren
python3 -m venv venv
source venv/bin/activate

# Abhängigkeiten installieren
pip install -r requirements.txt

# .env erstellen (Vorlage: .env.example)
cp .env.example .env
# .env mit eigenen Werten befüllen (DB, Secret Key, etc.)

# Datenbank erstellen (PostgreSQL)
createdb budget_db

# Migrationen anwenden
python manage.py migrate

# Entwicklungsserver starten
python manage.py runserver

Wichtige .env-Variablen

SECRET_KEY=...
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
DB_NAME=budget_db
DB_USER=...
DB_PASSWORD=...
DB_HOST=localhost
DB_PORT=5432
TURNSTILE_SECRET_KEY=...         # Cloudflare Turnstile (bei DEBUG=True automatisch bypassed)
EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend  # Brevo auch lokal nutzen
EMAIL_HOST=smtp-relay.brevo.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=...
EMAIL_HOST_PASSWORD=...
DEFAULT_FROM_EMAIL=noreply@armarium.ch
FRONTEND_URL=http://localhost:4200

Bei DEBUG=True werden Mails standardmässig nur im Terminal ausgegeben. EMAIL_BACKEND auf SMTP setzen um Brevo auch lokal zu nutzen.

Frontend Setup

cd frontend

# Abhängigkeiten installieren
npm install

# Dev-Server starten (Proxy zu Django auf :8000)
npm start

Die App ist dann unter http://localhost:4200 erreichbar. Der Angular Dev-Server proxied /api/-Requests automatisch via proxy.conf.json zu Django.

Beide Server gleichzeitig starten

# Im Root-Verzeichnis
./start.sh

Branch-Strategie

Branch Zweck
main Produktions-Stand, entspricht dem Live-Server
develop Aktiver Entwicklungs-Branch, Basis für Features
feature/* Feature-Branches, werden in develop gemergt

i18n

Alle 4 Sprachdateien immer gleichzeitig aktualisieren:

frontend/src/assets/i18n/de.json
frontend/src/assets/i18n/en.json
frontend/src/assets/i18n/fr.json
frontend/src/assets/i18n/it.json

Design System

  • Primary Color: Violet (#7c3aed)
  • Theme: frontend/src/budget-app-theme.css (Tailwind v4)
  • Icons: Flowbite Outline für Navbar/Modals, Fill für Sidebar-Navigation
  • Kein Flowbite JS: Dropdowns/Modals als Angular Signals (signal<boolean>)