The Task Manager App is a Flutter mobile application designed to help users manage their tasks efficiently. The app utilizes the Bloc architecture for state management and incorporates error handling for a smooth user experience.
- Add New Task: Easily add new tasks with titles, descriptions, start and end dates.
- Edit and Delete Tasks: Each tasks created can be edited and deleted.
- Sort and Search: Sort tasks by date or completion status, and search for specific tasks using keywords.
- Error Handling: The app includes error handling mechanisms to gracefully handle and display errors to users.
- Ensure you have Flutter installed on your machine. If not, follow the Flutter installation guide.
- Clone the repository to your local machine.
-
Open a terminal and navigate to the project directory.
-
Run the following command to install dependencies:
flutter pub get
Run the app on an emulator or physical device using the following command:
flutter run
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. The LoadTaskFailure, AddTaskFailure, and UpdateTaskFailure states provide details about errors encountered during data loading, task creation, and task updates.
Unit test has been integrated to test all functionalities from initial state to creating new task, updating task and deleting task