React.App.-.Google.Chrome.2023-01-25.10-33-00.mp4
- Clone this repository
- Install docker
- In root directory, run
docker compose up
- Go to http://localhost:3000
This ia an app for people to assign tasks to different employees depending on their positions.
- Get, create, update and delete employees/positions/tasks
- Filter, search and sort based on id/name/and date
- Throws NotFoundException when trying getById/updating/deleting an item with the id that doesn't exist in the system.
- Throws AlreadyExistException when trying adding an item with an id that already exists in the system.
- Throws HasOverlapException when trying adding a position to an employee with a period that's not available for the employee.
- Throws DateOutOfRangeException when trying adding a task to an employee with a date that's out of the period range of all positions the employee has.
- Auto validate with @NotNull, @NotBlank, @JsonFormat annotation from Spring Boot.
Frontend: React, Typescript, Material-table
Backend: Java, Spring Boot
- Make a plan, list everything needed to do, give them priority level according to my situation.
- Always make a mvp first before diving into more features.
- Material-table is a very powerful package, but in the same time, it brings som inconvience too when we need to customize som features. And it takes longer time to debug since many things are hidden.
- !! Multiple Date Picker for selecting period
- !! Databese (MySQL)
- ?? Writing testing for backend
- ?? Authentication
- ?? Pictures for employees
- Spring boot CRUD: https://www.youtube.com/watch?v=QuvS_VLbGko
- Material-table: https://material-table.com/#/