BUFF-RoSTOREing
Automating Employee Shift Allocation for the University of Colorado Bookstore💡
Automating Employee Shift Allocation for the University of Colorado Bookstore💡
Short on time? Skip the scrolling and hit play- I'll walk you through it all in this video!
The CU Book Store at the University of Colorado Boulder employs over 70 individuals, many of whom are part-time students, to manage various roles such as register operations, sales floors, and greeter stations. Despite its pivotal role, the store faces significant challenges in manually managing daily employee shift allocations. Balancing employee availability, specialized training, and varying demands makes the process time-consuming and complex for managers.
Our project offers a solution through an automated employee scheduling system designed to streamline this process. Leveraging AWS Cloud services, Apache Airflow, Flask API, and Python, the system reduces scheduling time from over an hour to under five minutes.
This project highlights how cloud-based automation can transform manual processes, enhancing the CU Book Store’s daily operations and productivity.
The automated scheduling system simplifies and streamlines shift allocation for the CU Book Store, enhancing efficiency and communication. Here are its key features:
Automates Shift Allocation: Automatically assigns employee shifts based on availability, training, and operational needs.
Enhances Communication: Sends real-time email notifications to employees with their assigned shifts, ensuring clarity and transparency.
Provides Manager Insights: Offers managers real-time access to schedules and staffing metrics for better decision-making.
Delivers Alerts: Triggers alerts for missing shift data, scheduling discrepancies, or unmet staffing requirements ensuring smooth operations.
Handles Dynamic Demands: Adapts seamlessly to varying needs, such as game-day rushes or unexpected staffing changes.
Built for Reliability: Utilizes AWS Cloud services and Python-based tools for a scalable and robust solution.
The automated scheduling system operates through a seamless workflow divided into key phases:
Ingestion Phase:
Shift Data Input: Managers upload daily shift requirements (roles, employee availability, and staffing needs) through a Flask API hosted on an AWS EC2 instance.
Data Storage: The shift data is stored in AWS S3 buckets, with daily updates triggered by an AWS Lambda function. Missing or incorrect data prompts an alert to the manager.
Processing Phase:
Data Transformation: A Python script processes raw shift data from S3, cleaning and formatting it for scheduling.
Scheduling Algorithm: Using a rule-based Python algorithm, shifts are assigned considering employee availability, and requirements.
Validation: Ensures staffing matches requirements, alerting managers if discrepancies are found.
Data Storage: Final shift assignments are stored in a gold schema database in AWS RDS for easy access.
Notification Phase
Email Preparation: Python scripts generate personalized email notifications with shift details for employees.
Email Delivery: Notifications are queued using Amazon SQS and sent via Amazon SES, ensuring timely delivery.
Orchestration and Monitoring
Workflow Automation: Apache Airflow orchestrates the entire pipeline, ensuring tasks run in the correct sequence.
System Monitoring: AWS CloudWatch tracks performance and alerts for any errors, maintaining reliability.