The goal is to implement an application to manage working tasks. See the user stories for the application details to be implemented.
Clone this repository and create a git bundle and send it to us when you finished the task. One of the most important topics we want to see, is how you commit your progress. This does not mean every commit has to be perfect.
- As a user I can create tasks, so that all tasks for a project can be tracked.
- Acceptance Criteria:
- A task must have a title
- A task must have a long description
- A task must have the status "ToDo"
- As a user I can change the status of a Task, so that the progress of the project can be tracked.
- Acceptance Criteria:
- Only the following status transitions are allowed, see state transitions
- As a user I can change the title and long description of a task.
- As a user I will see the history of a Task, so that I can track the history of a task.
- Acceptance Criteria:
- The previous and the next value of a change must be tracked
So for example:
- If a task is currently at "toDo" state in can only be changed to "InProgress"
- If a task is currently at "inQA" state in can only be both changed to "Done" or "ToDo"
- Implement the app using React (UI Library).
- typescript is mandatory
- Create tests cases for your components using React Testing Library (Testing)
- Please stick with React's internal APIs to handle state management (React Context API)
- Prefer function components and hooks over class components
- The application must be primary optimized for mobile devices and must have a optimized layout for desktop.
- Test cases is optional
- The app should be working and buildable with no errors.
- There should be individual commits with meaningful commit messages for every user story.
- API Documentation
- It's mandatory to use SVG icons and not PNG images. Icons used in designs can be easily found on flaticon.com