Skip to content

Onboarding ​

Schritt-fuer-Schritt Anleitung fuer neue Entwickler im MATEV 2026 Projekt.

Voraussetzungen ​

Stelle sicher, dass folgende Tools installiert sind:

ToolVersionInstallation
Dockerlatestdocker.com oder OrbStack (macOS)
DDEVv1.25+brew install ddev/ddev/ddev
Git2.xbrew install git oder apt install git

bun wird automatisch in den DDEV-Containern installiert — keine lokale Installation noetig.

1. Repository klonen ​

bash
git clone https://git.matev.eu/matev/infrastructure.git matev_2026
cd matev_2026

2. Setup ausfuehren ​

bash
./setup.sh

Das Script erledigt automatisch:

  1. Git Submodules initialisieren (admin, cms, staging, b2b, shared)
  2. Hostnames in /etc/hosts eintragen (benoetigt sudo)
  3. Alle DDEV-Services starten
  4. Admin- und B2B-Datenbank migrieren und seeden

Dauer beim ersten Mal: ca. 5-10 Minuten (Docker-Images werden gebaut).

3. Zugangsdaten ​

Nach dem Setup sind alle Services unter folgenden URLs erreichbar:

ServiceURLLoginPasswort
Filament Adminhttps://admin.matev.ddev.siteadmin@matev.euadmin
Kirby Panelhttps://cms.matev.ddev.site/panelSetup beim ersten Aufruf-
Staging-Frontend (Nuxt)http://localhost:3000 (via bun run dev)--
B2B-Portal (Livewire)https://b2b.matev.ddev.sitedealer@matev.eudealer
Taigahttps://project.matev.ddev.site:33015Superuser via docker exec ddev-matev-project-taiga-back python manage.py createsuperuser-
Penpothttps://design.matev.ddev.site:33003Registrierung-
Storybookhttps://storybook.matev.ddev.site:33009--
Matomohttps://tracking.matev.ddev.site:33013Setup-Wizard-
Docshttps://docs.matev.ddev.site:33011--

4. Repo-Struktur verstehen ​

matev_2026/
├── admin/                ← Git Submodule (matev/admin)        — Filament-PIM
├── cms/                  ← Git Submodule (matev/cms)          — Kirby + GraphQL
├── staging/              ← Git Submodule (matev/staging)      — Nuxt-Marketing
├── b2b/                  ← Git Submodule (matev/b2b)          — Livewire-Portal
├── shared/               ← Git Submodule (matev/shared)       — YAML-Schemas + Components
├── storybook/            ← Direkt im Infrastructure-Repo
├── docs/                 ← Direkt im Infrastructure-Repo
├── home/bengel/stacks/   ← Server-Stack-Configs (matev/server-stacks)
├── design/               ← DDEV-Config fuer Penpot
├── tracking/             ← DDEV-Config fuer Matomo
├── project/              ← DDEV-Config fuer Taiga
├── setup.sh              ← Dieses Onboarding-Script
└── ddev-all.sh           ← Service-Manager

Submodules (admin, cms, staging, b2b, shared) sind eigenstaendige Git-Repos. Aenderungen dort muessen im jeweiligen Repo committed werden.

5. Mit Submodules arbeiten ​

Feature entwickeln (z.B. im Admin) ​

bash
# In das Submodule wechseln
cd admin

# Aktuellen Stand holen
git checkout develop
git pull origin develop

# Feature-Branch erstellen
git checkout -b feature/42-produktkatalog

# Arbeiten, committen
git add .
git commit -m "feat(admin): add product catalog resource"

# Pushen und PR erstellen
git push -u origin feature/42-produktkatalog
# → PR gegen develop in Forgejo erstellen

Submodule-Referenz im Infrastructure-Repo aktualisieren ​

bash
# Zurueck ins Hauptrepo
cd ..

# Submodule auf neuesten Stand bringen
git submodule update --remote admin

# Im Infrastructure-Repo committen
git add admin
git commit -m "chore: update admin submodule"
git push

Alle Submodules aktualisieren ​

bash
git submodule update --remote --merge

6. Taeglich arbeiten ​

bash
# Services starten
./ddev-all.sh start

# Services stoppen
./ddev-all.sh stop

# Status pruefen
./ddev-all.sh status

# In einen Service-Container wechseln
cd admin && ddev ssh

# Tests ausfuehren
cd admin && ddev exec "composer test"

# Code-Style pruefen
cd admin && ddev exec "composer lint"

# Statische Analyse
cd admin && ddev exec "composer analyse"

7. Git Remote ​

Das zentrale Git-Hosting laeuft auf Forgejo:

https://git.matev.eu/matev/infrastructure   → Hauptrepo
https://git.matev.eu/matev/server-stacks    → Server Docker-Compose Stacks
https://git.matev.eu/matev/admin            → Laravel + Filament (PIM-Backend)
https://git.matev.eu/matev/cms              → Kirby CMS + GraphQL
https://git.matev.eu/matev/staging          → Nuxt 4 Marketing-Frontend
https://git.matev.eu/matev/b2b              → Laravel + Livewire (Händlerportal)
https://git.matev.eu/matev/shared           → YAML-Schemas + Vue Components

CI/CD laeuft automatisch ueber Woodpecker CI: https://ci.matev.eu

Hilfe ​