RosterReady

IADT Creative Computer Roster Ready Calendar
RosterReady

Core Functionality
Creating a CSP algorithm to generate optimal schedules for businesses. This was done by implementing the theory of CSPs and search algorithms into a functional component and optimizing the algorithm to reduce computational complexity.

WebSockets
Using WebSockets to create real-time notifications between employees and employers of each business. Communication is key in any business, providing real-time updates and notifications between the business reduces misunderstanding within the business.

Calendar implementation
Using React-Big-Calendar library to provide the shifts and schedules in a structured format for users to access. The calendar came with different views to provide the user with broader or more in depth view.

RosterReady Outcomes

RosterReady implemented all objectives successfully.

The Constraint Satisfaction Problem (CSP) solver was implemented with optimization techniques to create optimal schedules based on business needs. The process of developing this CSP was frustration but rewarding at the same time, it enhanced my technical knowledge in implementation and optimization of algorithms.

WebSockets were implemented to provide messages to the correct users from each team. If a new availability was created by the employee, it would notify the employer of the team. If the employer created a new schedule it would notify all employees within the team. With FastAPI built-in websockets, implementation was smooth within the backend but did require a few changes in the frontend to provide this refresh on certain pages.

The creation of the calendar within the frontend was challenging. By providing shifts on dates for the next six months and solutions on the exact dates they were created for, while making changes in CSS to the library to match my design.

Project Overview

RosterReady was created to simplify and automate conflict-free schedules tailored to business needs. The application's core functionally implemented Constraint Satisfaction Problem (CSP) solver to create solutions based on the business' shifts, employees and rules. These rules included skill based shifts, and availability of employees which could be requested and accepted by the employer in real-time. Other rules were applied to satisfy employment laws in Ireland, including gaps between shifts and maximum working hours per week.

Collection
Author/s

Kacper Agatowski

Discipline
Software Development
Web Development
Coding
UI/ UX Design
Web Design