A robust, data-driven platform designed to automate and optimize employee shift scheduling. Built with a focus on operational efficiency, fairness, and modern user experience.
This platform solves the complex "Shift Scheduling Problem" by balancing organizational requirements with employee preferences. It leverages advanced optimization algorithms to create schedules that are both logistically sound and worker-friendly.
- Frontend: Modern SPA built with React, Vite, and Tailwind CSS.
- Backend: High-performance REST API powered by FastAPI and Python 3.13.
- Optimization: Intelligent shift assignment using Google OR-Tools (Constraint Programming).
- Database: Reliable relational data management with PostgreSQL.
- Intelligent Auto-Scheduling: Automated shift assignments based on availability, required staffing, and fairness constraints.
- Admin Dashboard: Comprehensive management of students, shifts, and published schedules with real-time analytics.
- Student Portal: Personalized view of assigned shifts and easy availability submission.
- Role-Based Access: Secure authentication and authorization (JWT) for Admins and Students.
For a full list of features, see FEATURES.md.
The system follows a decoupled client-server architecture:
- Presentation Layer: Responsive React frontend.
- Business Logic: FastAPI backend executing optimization logic and data processing.
- Persistence Layer: PostgreSQL database with SQLAlchemy ORM.
Detailed technical design can be found in ARCHITECTURE.md.
The project is split into two main components:
- Located in the
/backenddirectory. - Requires Python 3.13 and dependencies in
requirements.txt. - Set up your
.envfile based on.env.example.
- Located in the
/frontenddirectory. - Requires Node.js 18+.
- Run
npm installandnpm run devto start.
- Secure JWT-based authentication.
- BCrypt salted password hashing.
- Granular RBAC (Role-Based Access Control).
Last Updated: January 17, 2026
License: MIT