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.
- 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
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.
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.
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 thePost 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.
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
This project uses the following license: <license_name>.