Initial commit: Ressourcenplanung-App
Vue 3 + Vite Frontend und Node/Express + SQLite Backend für Projekt-, Aufgaben-, Mitarbeiter- und Teamverwaltung inkl. Gantt-Zeitplan und Auslastungs-Heatmap.
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user