Skip to content

omarfarouk228/smart-task-manager

Repository files navigation

Smart Task Manager

A smart task manager that categorizes tasks automatically and suggests priorities based on urgency.

Features

  • Automatic Categorization: Tasks are automatically categorized based on keywords in the description.
  • Priority Suggestions: Task priorities are suggested based on the due date.
  • Local Storage: Tasks are stored locally on the device using Hive, ensuring data persistence.
  • Search: Tasks can be filtered by title and category.

Features

  • Automatic Categorization: Tasks are automatically assigned to categories (e.g., "Work", "Personal") based on keywords found in the task description.
  • Automatic Prioritization: Tasks are assigned a priority level (High, Medium, Low) based on their due date.
  • Extensible: The categorization logic is built using the Strategy Pattern, allowing for easy extension with an AI-based categorization model in the future.

Architecture

The application follows a layered architecture based on the principles of Clean Architecture, adapted for a Flutter application.

  • Presentation Layer: Contains the UI (widgets and screens) and the ViewModels. This layer is responsible for displaying the data and handling user input.
  • Domain Layer: Contains the business logic of the application. This includes use cases (e.g., AddTask, GetTasks), entities (e.g., Task), and the interfaces for our repositories.
  • Data Layer: Responsible for data retrieval and storage. This layer contains the implementation of the repositories and the data sources.

Getting Started

To run the app, follow these steps:

  1. Clone the repository.
  2. Run flutter pub get to install the dependencies.
  3. Run flutter run to launch the app.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors