This Java application helps manage staff workload allocation by recording staff details, teaching duties, and calculating total workload hours. It also supports advanced features such as data persistence, CSV import/export, login system and role based authentication.
- ✅ Record details of a new staff member.
- ✅ Assign duties to staff.
- ✅ Calculate and display workload allocation for each staff member.
- ✅ Permanent storage of data using object serialisation
- ✅ Import workload data from a CSV file
- ✅ Read/update workload allocation formulas from a CSV file
- ✅ View workload details for all staff in a specific area
- ✅ Search staff members or modules by name/ID
- ✅ Role based user authentication (Login system)
- Add, Edit, Delete Staff: Enter details in the form and save.
- Add, Edit, Delete Activity Types: Enter details in the form and save.
- Add, Edit, Delete Duties: Select a staff member and input workload details.
- Calculating Workload: The system automatically calculates total hours.
- Validate total hour exceeds: The system automatically validate and show in red colour if they exceed the expected total hours.
- Search & Filter: Use the search bar to find specific staff or modules.
- Data Persistence: Changes are saved and loaded automatically.
- Java – Core programming language
- JUnit – White box testings
- JavaFX – User interface
- Object Serialisation – Data persistence
- FXML – UI layout structure
JIRA Project Link: https://sanindu.atlassian.net/jira/software/projects/ECS/list?direction=ASC&sortBy=duedate&atlOrigin=eyJpIjoiOTdlNjEyYjU1YzViNGE3OGI5ZGMxODY5ZjQyNDJmOGYiLCJwIjoiaiJ9
-
Clone the Repository
-
Ensure JavaFX is Installed
- Download and install JavaFX SDK if not already available.
-
Compile and Run
run the main class using an IDE like IntelliJ IDEA or Eclipse with JavaFX support enabled.
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a new branch (
feature-new-functionality) - Commit changes (
git commit -m "Added new feature") - Push to the branch and open a Pull Request
This project is licensed under the MIT License – see the LICENSE file for details.












