|
|
1 month ago | |
|---|---|---|
| .idea | 11 months ago | |
| app | 1 month ago | |
| bin | 1 month ago | |
| config | 1 month ago | |
| db | 1 month ago | |
| frontend | 1 month ago | |
| lib | 11 months ago | |
| public | 11 months ago | |
| vendor | 10 months ago | |
| .dockerignore | 1 month ago | |
| .gitattributes | 11 months ago | |
| .gitignore | 11 months ago | |
| .ruby-version | 11 months ago | |
| Dockerfile | 1 month ago | |
| Gemfile | 1 month ago | |
| Gemfile.lock | 1 month ago | |
| MIGRATION_FEATURES.md | 1 month ago | |
| README.md | 1 month ago | |
| Rakefile | 11 months ago | |
| config.ru | 11 months ago | |
| docker-compose-dev.yml | 4 months ago | |
| docker-compose.yml | 1 month ago | |
| docker-entrypoint.sh | 11 months ago | |
| package-lock.json | 10 months ago | |
| package.json | 10 months ago | |
| setup-env.ps1 | 1 month ago | |
README.md
Ausbildungsnachweis
Die bisherige Rails-Webanwendung wurde in zwei klar getrennte Anwendungen umgebaut:
- Rails 7.1 als JSON-API unter
/api/v1 - Angular 22 mit Angular Material im Ordner
frontend/ - PostgreSQL, Redis und Nginx über Docker Compose
Start mit Docker
cp .env.example .env
# CHANGE_ME-Werte in .env durch sichere Zufallswerte ersetzen
docker compose build
docker compose up -d
docker compose exec api bin/rails db:prepare
Unter Windows zuerst die .env mit sicheren Zufallswerten erzeugen:
powershell -ExecutionPolicy Bypass -File .\setup-env.ps1
docker compose up -d --build
Falls Port 13131 bereits verwendet wird, in .env beispielsweise Folgendes setzen:
FRONTEND_PORT=13132
FRONTEND_ORIGINS=http://localhost:13132
Frontend: http://localhost:13131
API: http://localhost:13000/api/v1
Healthcheck: http://localhost:13000/up
Ein Secret kann mit docker compose run --rm api bin/rails secret erzeugt werden.
Lokale Entwicklung
Backend:
bundle install
bin/rails db:prepare
bin/rails server
Frontend:
cd frontend
npm install
npm start
Der Angular-Devserver leitet /api über proxy.conf.json an Rails auf Port 3000 weiter.
API-Bereiche
auth: Login, Logout und aktueller Benutzerentries: CRUD, Timer und CSV-Exportdashboard: Fortschritt, Kilometer und Kostencalendar: Einträge für frei wählbare Datumsbereichemonthly_report: Monatsauswertungsettings: Sollstunden, Wochenziele und Ausbildungsstatusmileage_rates: Kilometersätze
csv ist im Gemfile ausdrücklich als Gem eingetragen und zusätzlich im Export-Controller sowie im Modell geladen.
Der vollständige Abgleich mit den Funktionen des ursprünglichen Rails-Projekts steht in MIGRATION_FEATURES.md.
E-Mail und Administration
In .env müssen insbesondere SMTP_USERNAME, SMTP_PASSWORD, FRONTEND_URL, ADMIN_EMAIL und die PgHero-Zugangsdaten gesetzt werden. Nach Änderungen an .env die Container neu erstellen:
docker compose up -d --build --force-recreate
Bestehende Daten
Die vorhandenen Tabellen und Modelle bleiben erhalten. Beim ersten Start wird nur api_token_digest an users ergänzt. Vor dem Upgrade sollte wie üblich ein PostgreSQL-Backup erstellt werden.