How lennystepn-hue/schichtplaner works
Schichtplaner is a self-hosted workforce-management application. The main workflow is a manager creating schedules and shifts, employees viewing schedules and booking shifts, and the application persisting changes and broadcasting live updates. Separate product areas handle employee and division administration, time records, absences, reporting, and the internal portal. AI assistance is an optional capability. The graph follows the supplied route excerpts and README; several feature connections are represented at directory level because their implementations were not sampled.
Main entry points: db.ts Database access · auth.ts Authentication · emit.ts Real-time dispatch · route.ts Shifts API
Components 25
Shift planning
- Schedule views
src/app/(dashboard)/schedule - Schedules API
src/app/api/schedules/route.ts - Shifts API
src/app/api/shifts/route.ts - Bookings API
src/app/api/bookings/route.ts - Wish requests
src/app/api/mod-requests/route.ts
Workforce operations
- Employee management
src/app/api/employees/route.ts - Division management
src/app/api/divisions - Time tracking
src/app/api/time/route.ts - Absence management
src/app/api/absences/route.ts
Reporting and AI
- Monthly reporting
src/app/api/reporting/route.ts - AI capabilities
src/app/api/ai - AI services
src/lib/ai
Internal portal
- Messaging
src/app/api/messages/route.ts - Portal files
src/app/api/files - Discussion topics
src/app/api/topics
Application platform
- Organization settings
src/app/api/settings/route.ts - Authentication
src/lib/auth.ts - Database access
src/lib/db.ts - PostgreSQL
- Real-time dispatch
src/lib/emit.ts - Socket.IO server
server.ts
Other components
- Manager
- Employee
- Anthropic API
- S3-compatible storage
Connections 46
- Manager → Schedule views: plans shifts
- Employee → Schedule views: views schedule
- Schedule views → Schedules API: loads schedule
- Schedules API → Database access: reads or creates
- Manager → Shifts API: creates shifts
- Shifts API → Database access: writes shifts
- Employee → Bookings API: books shifts
- Bookings API → Database access: writes bookings
- Employee → Wish requests: requests shifts
- Wish requests → Database access: reads and writes
- Manager → Employee management: manages staff
- Employee management → Database access: reads and writes
- Manager → Division management: assigns divisions
- Division management → Database access: reads and writes
- Employee → Time tracking: records hours
- Time tracking → Database access: reads and writes
- Employee → Absence management: requests leave
- Absence management → Database access: reads and writes
- Manager → Monthly reporting: reviews hours
- Monthly reporting → Database access: reads records
- Manager → AI capabilities: requests assistance
- AI capabilities → AI services: dispatches
- AI services → Database access: uses workforce data
- AI services → Anthropic API: calls model
- Employee → Messaging: messages colleagues
- Messaging → Database access: reads and writes
- Manager → Portal files: manages files
- Portal files → Database access: reads and writes metadata
- Portal files → S3-compatible storage: stores uploads
- Employee → Discussion topics: joins discussions
- Discussion topics → Database access: reads and writes
- Manager → Organization settings: configures organization
- Organization settings → Database access: reads and writes
- Employee management → Authentication: checks member
- Shifts API → Authentication: checks member
- Bookings API → Authentication: checks member
- Time tracking → Authentication: checks member
- Absence management → Authentication: checks member
- Monthly reporting → Authentication: checks member
- Messaging → Authentication: checks member
- Database access → PostgreSQL: queries
- Bookings API → Real-time dispatch: broadcasts changes
- Shifts API → Real-time dispatch: broadcasts changes
- Messaging → Real-time dispatch: broadcasts notices
- Wish requests → Real-time dispatch: broadcasts changes
- Real-time dispatch → Socket.IO server: dispatches events