The App is a Flutter mobile application example assignment to complete the first exam.
- Create New Task: Add new tasks with titles, descriptions, start and end dates range.
- Edit and Delete Tasks: Tasks created can be edited and deleted.
- Sort: Sort tasks by date or completion status.
- Mark as Complete: Mark task items as completed.
- Set Priority Task: Set task items to priority task.
- Dashboard Preview: User personal dashboard to preview on graph.
The app uses the Bloc architecture for efficient state management. Key Bloc classes include:
- TasksBloc: Manages the overall state of tasks in the application.
- TasksEvent: Represents events triggering state changes.
- TasksState: Represents different states of the tasks, such as loading, success, or failure.
Error handling is implemented throughout the app to ensure a seamless user experience. states provide details about errors encountered during data loading, task creation, and task updates.
- LoadTaskFailure
- AddTaskFailure
- UpdateTaskFailure
Unit test has been integrated to test all functionalities from initial state
- Creating task
- Updating task
- Deleting task
Test to verify the widget
- Create task