Skip to content

2025-TU-Wien-SE-PR-Group09/Shiftly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

312 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alt text

About

Shiftly was developed as a group project for the Software Engineering and Project Management course at TU Wien (Vienna University of Technology) during the summer semester of 2025.

Shiftly is a web-based application designed to simplify shift scheduling for large organizations. It efficiently assigns employees to shifts while ensuring that each shift meets its required staffing levels. If adequate staffing cannot be achieved, the system automatically notifies the responsible manager via email. Among its key features, Shiftly includes an intelligent shift generation algorithm that considers employee vacations and assigns substitute workers ("jumpers") where needed.

Time spent: approx. 600h total

Powered by https://github.com/lannodev/angular-tailwind Copyright (c) 2024 Luciano Oliveira

Features

Role: System Administrator

  • Invite users to the system via email
  • Manage departments
  • Manage shift schedules across the organization
  • View sick leave notifications, including uploaded medical documents

Role: Supervisor

  • Manage shift schedules for their assigned department
  • Invite users to their department as Employees or Jumpers
  • View sick leave notifications for their department, including uploaded documents
  • Review and approve or reject vacation requests within their department

Role: Employee

  • View personal shift schedule
  • Upload sick leave documentation
  • Submit vacation requests
  • Export personal shift schedule as a .ics file

Shift Planning

  • Each shift has a defined required headcount.
  • Employees are automatically assigned using a rotation algorithm that ensures fair distribution of shifts.
  • Approved vacation requests are taken into account during shift planning. * However, unplanned events like sudden resignations or sick leave are not considered.
  • If staffing requirements are not met, available jumpers from an external pool are flexibly assigned to fill gaps.
  • The jumper assignment algorithm respects individual availability and prevents multiple shift assignments on the same day.

Technology Stack

Backend: Spring Boot (Java)

Frontend: Angular (TypeScript)

Database: H2 (In-Memory Database)

Installation

You can start the application using Docker Compose by running docker-compose up from the project's root directory.

Default credentials (password is password for all users):

Screenshots

Light mode

Calendar view alt text

Weekly Calendar View alt text

Supervisor - Creation of Shift Plan alt text

Supervisor - Details of a Shift alt text

Employee - Vacation Request alt text

Supervisor - Vacation Requests alt text

Dark mode

Calendar view alt text

Weekly Calendar View alt text

Supervisor - Creation of Shift Plan alt text

Class Diagram

alt text

About

Efficient and user-friendly planning and organization of shifts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors