Jayjerome/Task_manager_application
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.
- Stars
- 109
- Forks
- 48
- Last push (UTC)
- Sep 28, 2024
- Project status
- Active
Dependencies used
Dependency list 12 items
- flutter
{"sdk":"flutter"} - cupertino_icons
^1.0.2 - nb_utils
^6.0.4 - flutter_svg
^1.0.0 - table_calendar
^3.0.9 - intl
^0.18.1 - flutter_bloc
^8.1.3 - bloc_concurrency
^0.2.3 - shared_preferences
^2.2.2 - flutter_testDevelopment
{"sdk":"flutter"} - mocktailDevelopment
^1.0.1 - flutter_lintsDevelopment
^2.0.0
Rankings
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
Frame 3
Task Manager App
Overview
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.
Features
- 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.
Getting Started
Prerequisites
- Ensure you have Flutter installed on your machine. If not, follow the Flutter installation guide.
- Clone the repository to your local machine.
Installation
-
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
State Management
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
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
Unit test has been integrated to test all functionalities from initial state to creating new task, updating task and deleting task