This is a web-based staff scheduling application that allows you to manage staff assignments for different time slots and days. It follows a set of rules and features to ensure efficient scheduling.
This application goes through multiple levels of features as outlined in the project requirements:
- Level 1: Basic setup with an ExpressJS server and a ReactJS page.
- Level 2: Static ReactJS page with components.
- Level 3: Select staff members for slots.
- Level 4: Display staff loads for each day and week.
- Level 5: Prevent consecutive lunch slots.
- Level 6: Limit staff to a maximum of 2 shifts per day.
- Level 7: Limit staff to a maximum of 7 shifts per week.
- Level 8: Prevent double bookings.
- Level 9: Randomized population of empty shifts.
- Level 10: Calculate the number of staff members needed to fill all shifts.
Follow these instructions to get the project up and running on your local machine.
- Node.js and npm (Node Package Manager) installed.
-
Clone the repository:
git clone https://github.com/imfenil16/scheduling-app.git
-
Navigate to the project directory:
cd scheduling-app
-
Install server dependencies:
npm install
-
Run the server:
npm start
The application should now be running locally on http://localhost:3000.