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.
- 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.
- Docker is the only requirement.
- PostgreSQL (tested with v14, but likely compatible with other versions).
- Apache Tomcat.
The default admin user for both versions is admin:admin
. Change the password within the application for better security.
Launch the application quickly using the provided docker-compose.yml
file with the command: docker-compose up --build
. Customize the .env
file as needed.
- 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.
- 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.
- 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.