Skip to content
/ todo Public

This is a Flutter app designed to interact with the Todoist API, offering a seamless task management experience.

Notifications You must be signed in to change notification settings

hexfa/todo

Repository files navigation

Flutter Todoist App

Details 📜

This is a Flutter app designed to interact with the Todoist API, offering a seamless task management experience. It incorporates modern Flutter technologies, adheres to Clean Architecture principles, and is built for scalability and maintainability.


Table of Contents

  1. Features
  2. Technologies Used
  3. Prerequisites
  4. Setup
  5. Preview
  6. Resources
  7. Contributing

Features 🏹

The Flutter Todoist App offers a variety of features aimed at enhancing productivity:

  • Task Management: View, add, and manage tasks fetched from the Todoist API.
  • Dark and Light Themes: Switch between themes for comfortable viewing.
  • Localization: Supports English and German languages, ensuring accessibility for a broader audience.
  • Task Timer: Each task includes a built-in timer to help users track time spent.
  • Completed Tasks View: Review tasks marked as complete.
  • Offline Mode: Retain access to previously fetched tasks using local storage.
  • Responsive Design: Adapts beautifully to various screen sizes.
  • Clean Architecture: Ensures maintainable, testable, and scalable code structure.
  • Unit Testing: Comprehensive tests to ensure functionality and reliability.

Technologies Used

The app is built with the following technologies:

Core Libraries:

  • Flutter: Framework for crafting high-quality, natively compiled applications.
  • Dart: Programming language optimized for fast development and expressive UI.

State Management and Dependencies:

  • Flutter BLoC: Efficient state management solution.
  • GetIt: Dependency injection and service locator.

Networking and APIs:

  • Dio: HTTP client for managing API calls.
  • Retrofit: Simplifies API requests with type-safe REST client generation.

Local Storage and Utilities:

  • Hive: Lightweight, blazing fast, key-value database.
  • Flutter Secure Storage: For securely storing sensitive user data.
  • Shared Preferences: Persistent storage for basic key-value data.

UI and Theming:

  • Lottie: Dynamic animations.
  • Google Fonts: Enhances UI with custom typography.
  • Go Router: Advanced routing for Flutter apps.

Additional Tools:

  • Intl: For internationalization and localization.
  • Animated Theme Switcher: Enables smooth transitions between themes.
  • Connectivity Plus: Monitors internet connectivity.

Prerequisites

Before running the app, make sure you have the following installed:

  • Flutter SDK: Version 3.0 or later.
  • Dart: Version 2.18 or later.
  • Android Studio/Visual Studio Code: With the Flutter and Dart plugins.
  • API Access: Ensure you have API credentials for Todoist.

Setup 🕺

  1. Clone this repository:

    git clone <repository-url>
  2. Navigate to the project directory:

    cd flutter_todoist_app
  3. Install dependencies:

    flutter pub get
  4. Run the app:

    flutter run

For advanced configuration and customization, refer to the lib/config folder for environment-specific settings.


Preview 📱

Below are examples of the app's user interface and features:

Video Demo

Todo App dehdarian fallah

Screenshots

Todo App hexfa Todo App amir
Todo App hexfa Todo App amir


Documentation 📜

  • Online Document

    You can see the first document version of the project on this link Documentation.

Resources ℹ️


Contributing

I welcome contributions from the community. To contribute:

  1. Fork the repository.
  2. Create a feature or bug fix branch:
    git checkout -b feature-name
  3. Commit your changes with clear descriptions:
    git commit -m "Add feature description"
  4. Push your branch to your fork:
    git push origin feature-name
  5. Submit a pull request with detailed information about your changes.

Troubleshooting Clone Issues

If you encounter any issues while cloning the repository, you can use the following command as an alternative:

git clone https://<your-username>:<your-personal-access-token>@github.com/hexfa/todo.git

About

This is a Flutter app designed to interact with the Todoist API, offering a seamless task management experience.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published