Shift Scheduler

Project Description

Shift Scheduler provides a streamlined solution for managers to create shift schedules instead of manual scheduling. Managers can create shift schedules and provides a centralized network for communication within the company, as well as be notified of shifts, conflicts, and changes. Users can post their availability or request time off within a period of time that has been set by their manager.

Technologies Used

  • Java - Version 8
  • HTML/CSS/JS - version 2.0
  • Angular 9+ (TypeScript)
  • Spring
  • GitHub (for Version Control)
  • JUnit 4
  • Hibernate
  • Postgres
  • Jenkins
  • Karma
  • Jasmine
  • Jenkins
  • AWS

Features

List of features ready and TODOs for future development Features:

  • Post to Bulletin/Read from Bulletin.
  • Users can login as an Employee or a Manager.
  • Managers can create and post schedules.
  • Managers can manipulate created schedules.
  • Managers can register a new User.
  • Employees can post their availability.
  • Users can modify their credentials.
  • Passwords are hidden but can be viewable
  • Emails must be a valid Email.
  • Instant Messaging between users.
  • Messages ordered by timestamp.

To-do list:

  • Passwords could be encrypted
  • Allow employees to drop and trade shifts.

Getting Started

git clone <name of repository> For front end, run npm install in a CLI on level with the top level directory with a corresponding package.json. If the database is not running, for the back end, right click the POM.xml file and run Maven -> Update Project. Then run the Project on a Tomcat Server.

Usage

To login, type in your registered email and password. The different tabs are accessible through the Hamburger Menu. This accessible through the three bars on the top left. For Managers on the Schedule page, they can create the schedule and Push the Schedule out. Then when they want create a new schedule, they click press the Post The Schedule. This also releases the following week for creating a schedule. The Profile tab or Profile button on the top right allows the user to modify their availability and credentials. For Instant Messaging, simply click on the user and you can type in your message.

Contributors

Here list the people who have contributed to this project. (ignore this section, if its a solo project)

  • Dylan Mahaffey
  • Elisha Sword
  • George Yoo
  • Michael Jolley
  • Calvin Mak
  • Tyler Ojala
  • Damian Lasota
  • William He

License

This project uses the following license: <license_name>.