MCPcopy Index your code
hub / github.com/SirChri/employee-shift-scheduler

github.com/SirChri/employee-shift-scheduler @v0.9.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.9.5 ↗ · + Follow
229 symbols 592 edges 87 files 34 documented · 15%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Shift Scheduler

Home screen

A straightforward and efficient employee shift scheduler featuring a React frontend and a Java (Spring Boot) backend with PostgreSQL. This application allows you to manage employee schedules and other related entities.

Key Features

  • User Management: Manage and store users who can authenticate and use the platform (no permissions handling yet).
  • Employee Management: Manage and store employee records for specific customers.
  • Customer Management: Handle customer records and related data.
  • Event Management: Create, manage, and schedule events, including recurring events following the iCalendar standard.
  • Event Reporting: Generate event reports with ease. Event report

Requirements

Docker Version

  • Docker is the only requirement.

Non-Docker Version

  • PostgreSQL (tested with v14, but likely compatible with other versions).
  • Apache Tomcat.

Quick Setup

The default admin user for both versions is admin:admin. Change the password within the application for better security.

Docker Version

Launch the application quickly using the provided docker-compose.yml file with the command: docker-compose up --build. Customize the .env file as needed.

Non-Docker Version

  • Download the latest war file from Releases
  • Download the latest apache-tomcat software
  • Put the war file inside the tomcat webapps folder
  • Configure the WEB-INF/classes/application.properties as you wish
  • Start tomcat

Note: Make sure the target database exists in your PostgreSQL instance; the required tables will be automatically created.

Technology Stack

  • Frontend: Built using React with TypeScript, based on react-admin.
  • Backend: Developed with Java and Spring Boot.
  • Calendar: Utilizes the fullcalendar library.
  • Security: All server requests require authentication.

Entity-Relationship Diagram

ER diagram

Future Improvements

  • Enforce constraints such as:
  • Preventing schedule overlaps for the same employee.
  • Dynamic handling of exclusion date-time slots during schedule creation or updates (e.g., exclude weekends).
  • Ensuring end dates are later than start dates during schedule creation or updates.
  • Handle bulk updates and inserts.
  • Implement an entry clone action for schedules.
  • Enhance documentation and README.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 127
Function 47
Class 40
Interface 14
Enum 1

Languages

Java78%
TypeScript22%

Modules by API surface

src/main/java/io/sirchri/ess/security/services/CustomUserDetails.java22 symbols
src/main/frontend/src/views/Calendar.tsx15 symbols
src/main/java/io/sirchri/ess/controller/user/UserController.java11 symbols
src/main/java/io/sirchri/ess/controller/GenericService.java9 symbols
src/main/java/io/sirchri/ess/controller/GenericController.java9 symbols
src/main/java/io/sirchri/ess/controller/user/UserService.java7 symbols
src/main/frontend/src/components/ColorInput.tsx7 symbols
src/main/java/io/sirchri/ess/repository/EventRepositoryImpl.java6 symbols
src/main/java/io/sirchri/ess/model/Role.java6 symbols
src/main/java/io/sirchri/ess/model/Event.java6 symbols
src/main/java/io/sirchri/ess/security/SecurityConfig.java5 symbols
src/main/java/io/sirchri/ess/repository/specification/EventSpecifications.java5 symbols

Datastores touched

new1Database · 1 repos

For agents

$ claude mcp add employee-shift-scheduler \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page