Agent Zero df50ea8b4b fix: repair Rentman equipment sync with real API field mapping
- Map real Rentman fields: price -> rental_price, folder -> category/subcategory
  (resolved via folder hierarchy to top-level categories), code -> number,
  shop_description_long (fallback short/external_remark) -> description (HTML stripped)
- Sync only in_shop items; exclude archived/temporary from public catalog
- Extract known brands from equipment names (d&b, Shure, Pioneer, ...)
- Build specifications from physical fields (power, weight, dimensions)
- Persist equipment images in docker volume (survive redeploys)
- Router: filter available items, add price_asc/price_desc sorting
- Frontend: show prices in catalog card, detail page and cart with
  per-day subtotal; price sorting options
- Tests: use real Rentman field names in fixtures, mock folder_map
2026-09-24 21:26:18 +02:00

HMS Licht & Ton – Homepage & Verwaltungssystem

Die offizielle Website und Verwaltungsplattform für HMS Licht & Ton (Hammerschmidt u. Mössle GbR) aus Leipheim/Ellzee. Professionelle Veranstaltungstechnik – Vermietung, Verkauf, Personal und Transport von Tontechnik und Lichttechnik.


Tech Stack

Komponente Technologie
Frontend Nuxt 3 (Vue 3, TypeScript, Tailwind CSS)
Backend FastAPI (Python 3.12, async)
Database PostgreSQL 16
Cache Redis 7
Deployment Docker Compose via Coolify
CI/CD Forgejo Actions

Prerequisites

  • Node.js 20+
  • Python 3.12+
  • Docker & Docker Compose
  • Git

Setup

1. Repository klonen

git clone https://forgejo.media-on.de/Leopoldadmin/hms-licht-ton.git
cd hms-licht-ton

2. Environment konfigurieren

cp .env.example .env
# .env mit echten Werten ausfüllen (API-Token, Secrets, SMTP, etc.)

3. Anwendung starten (Docker)

docker compose up -d

Die Anwendung ist danach erreichbar unter:


Development

Frontend (Nuxt 3)

cd frontend
npm ci
npm run dev          # Dev-Server auf http://localhost:3000
npm test             # Unit Tests (Vitest)
npx playwright test  # E2E Tests
npm run build        # Production Build
npm run typecheck    # TypeScript Type Check
npm run lint         # ESLint

Backend (FastAPI)

cd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
pytest -v            # Tests ausführen

Weitere Build- und Test-Befehle siehe AGENTS.md.


Build (Docker)

Alle Services bauen

docker compose build

Einzelne Services bauen

docker compose build frontend
docker compose build backend

Deployment (Coolify)

Die Anwendung wird über Coolify auf coolify-01 (46.225.91.159) deployt.

  1. In Coolify ein neues Projekt "HMS Licht & Ton" anlegen.
  2. Als Source das Forgejo-Repository Leopoldadmin/hms-licht-ton auswählen.
  3. Als Deployment-Methode "Docker Compose" wählen und docker-compose.yml referenzieren.
  4. Environment-Variablen in Coolify setzen (entsprechend .env.example).
  5. Domain für Frontend konfigurieren (z.B. hms.media-on.de → Port 3000).
  6. Backend-Port (8000) nur intern暴露en oder über Traefik mit eigener Subdomain.
  7. Deploy auslösen. Coolify baut die Images und startet alle Services.

Health Checks

Alle Services haben Health Checks konfiguriert:

  • Frontend: HTTP-Check auf Port 3000
  • Backend: HTTP-Check auf /health Endpoint
  • PostgreSQL: pg_isready
  • Redis: redis-cli ping

CI/CD Pipeline (Forgejo Actions)

Die Pipeline (.forgejo/workflows/ci.yml) läuft bei jedem Push und PR auf main:

  1. frontend-test: npm ci → npm test → npm run build
  2. backend-test: pip install → pytest -v
  3. docker-build: Baut Frontend- und Backend-Docker-Images, validiert docker-compose.yml

Projektstruktur

hms-licht-ton/
├── frontend/          # Nuxt 3 Frontend
│   ├── Dockerfile
│   ├── .dockerignore
│   ├── package.json
│   ├── nuxt.config.ts
│   ├── pages/
│   ├── components/
│   ├── composables/
│   ├── stores/
│   └── tests/
├── backend/           # FastAPI Backend
│   ├── Dockerfile
│   ├── .dockerignore
│   ├── requirements.txt
│   ├── app/
│   │   ├── main.py
│   │   ├── config.py
│   │   ├── database.py
│   │   ├── auth.py
│   │   ├── cache.py
│   │   ├── routers/
│   │   └── schemas/
│   └── tests/
├── docs/              # Projektdokumentation
├── .forgejo/
│   └── workflows/
│       └── ci.yml     # CI/CD Pipeline
├── docker-compose.yml # 4 Services: frontend, backend, postgres, redis
├── .env.example       # Environment-Vorlage
├── .gitignore
├── AGENTS.md          # Build & Test Guide
└── README.md

License

© Hammerschmidt u. Mössle GbR. Alle Rechte vorbehalten.

S
Description
Neue Homepage für HMS Licht & Ton GbR - Veranstaltungstechnik. Neuaufbau mit Grautönen + oranges Logo. Orientierung an bestehender Website hms-licht-ton.de.
Readme 33 MiB
Languages
TypeScript 42.3%
Python 31.2%
Vue 15.8%
CSS 9.9%
HTML 0.5%
Other 0.3%