mirror of
https://github.com/donpat1to/Schichtenplaner.git
synced 2026-01-20 09:59:41 +01:00
updated Readme
This commit is contained in:
87
README.md
87
README.md
@@ -1,6 +1,91 @@
|
|||||||
# Schichtenplaner
|
# Schichtenplaner
|
||||||
Aufteilung der Schichten unter Mitarbeitern
|
|
||||||
|
|
||||||
|
A web application for planning and distributing work shifts among employees. Manage your team's schedules, handle employee availability, and automatically generate optimized shift plans.
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Employee management with availability tracking
|
||||||
|
- Shift plan creation and management
|
||||||
|
- Automated scheduling optimization using constraint programming (OR-Tools CP-SAT)
|
||||||
|
- Excel export functionality
|
||||||
|
- User authentication with JWT
|
||||||
|
- Responsive web interface
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## For Developers
|
||||||
|
|
||||||
|
### Tech Stack
|
||||||
|
|
||||||
|
**Frontend:**
|
||||||
|
- React 19 with TypeScript
|
||||||
|
- Vite 6 (build tool & dev server)
|
||||||
|
- React Router DOM (routing)
|
||||||
|
- date-fns (date handling)
|
||||||
|
- Framer Motion (animations)
|
||||||
|
|
||||||
|
**Backend:**
|
||||||
|
- Express.js with TypeScript
|
||||||
|
- SQLite3 (database)
|
||||||
|
- JWT authentication
|
||||||
|
- Helmet (security headers)
|
||||||
|
- express-rate-limit (rate limiting)
|
||||||
|
- OR-Tools CP-SAT (Python - scheduling optimization)
|
||||||
|
- ExcelJS (Excel exports)
|
||||||
|
|
||||||
|
**Infrastructure:**
|
||||||
|
- npm workspaces (monorepo)
|
||||||
|
- Docker support
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- Node.js (v18+)
|
||||||
|
- Python 3 with OR-Tools (`pip install ortools`)
|
||||||
|
- npm
|
||||||
|
|
||||||
|
### Getting Started
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install dependencies
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# Run development server (frontend + backend)
|
||||||
|
npm run dev
|
||||||
|
|
||||||
|
# Build all packages
|
||||||
|
npm run build:all
|
||||||
|
```
|
||||||
|
|
||||||
|
### Project Structure
|
||||||
|
|
||||||
|
```
|
||||||
|
schichtenplaner/
|
||||||
|
├── frontend/ # React application
|
||||||
|
├── backend/ # Express API server
|
||||||
|
├── premium/ # Premium features (optional)
|
||||||
|
└── package.json # Root monorepo config
|
||||||
|
```
|
||||||
|
|
||||||
|
### Available Scripts
|
||||||
|
|
||||||
|
| Command | Description |
|
||||||
|
|---------|-------------|
|
||||||
|
| `npm run dev` | Start both frontend and backend in development mode |
|
||||||
|
| `npm run dev:frontend` | Start frontend only |
|
||||||
|
| `npm run dev:backend` | Start backend only |
|
||||||
|
| `npm run build:all` | Build frontend and backend |
|
||||||
|
| `npm run docker:build` | Build Docker image |
|
||||||
|
| `npm run docker:run` | Run Docker container |
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
The backend requires these environment variables in production:
|
||||||
|
- `NODE_ENV` - Set to `production` or `development`
|
||||||
|
- `JWT_SECRET` - Secret key for JWT token signing
|
||||||
|
- `TRUST_PROXY_ENABLED` - Enable/disable proxy trust (default: true)
|
||||||
|
- `TRUSTED_PROXY_IPS` - Comma-separated list of trusted proxy IPs
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 🧾 License
|
## 🧾 License
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user