# Ressourcenplanung Leichtgewichtige App zur Planung von Projekten, Aufgaben, Mitarbeitern und Teams – mit Zeitplan (Gantt), Auslastungs-Heatmap und Team-Verwaltung. Daten liegen in SQLite. ## Aufbau ``` ressourcenplanung/ ├── server/ Node/Express + SQLite (better-sqlite3) │ ├── schema.sql Tabellen & Beziehungen │ ├── db.js DB-Init + Beispieldaten │ └── index.js REST-API (CRUD + Auslastungsberechnung) └── client/ Vue 3 + Vite └── src/ ├── App.vue Tab-Navigation ├── SchedulePanel.vue Gantt-Zeitplan ├── UtilizationPanel.vue Auslastungs-Heatmap ├── ProjectsPanel.vue Projekte/Aufgaben inkl. Zuweisungen ├── EmployeesPanel.vue Mitarbeiter ├── TeamsPanel.vue Teams (n:m-Mitgliedschaft) ├── store.js Reaktiver State + CRUD gegen die API ├── api.js API-Client └── helpers.js Datum-/Gantt-/Farbberechnung ``` ## Lokale Entwicklung Zwei Terminals. **1) Backend** ```bash cd server npm install npm run dev # startet auf http://localhost:8080 ``` Beim ersten Start wird `server/data/data.db` angelegt und mit Beispieldaten befüllt. **2) Frontend** ```bash cd client npm install npm run dev # startet auf http://localhost:5173 ``` Browser auf http://localhost:5173 öffnen. Vite leitet `/api` und `/health` per Proxy an das Backend weiter. ## Deployment (Docker) Die App läuft als ein Container: Das Backend serviert die REST-API und das gebaute Frontend über denselben Port 8080. ```bash docker compose up --build ``` Danach ist die App unter http://localhost:8080 erreichbar. Die SQLite-Datenbank liegt im Docker-Volume `data`.