/todo_app

Flutter assessment task

Primary LanguageDart

Todo App

Key Features

To-Do Functionality

  • Create & Manage To-Dos: Users can add, view, and delete to-do items.
  • Local Storage: To-do tasks are stored locally using shared_preferences to ensure persistence across app launches.

API Integration

  • Fetch Data: Retrieves and displays photos from the external API https://jsonplaceholder.typicode.com/photos.
  • Offline Storage: Stores the first 20 fetched items locally for offline access.

UI & State Management

  • Material Design: The app's UI follows Material Design principles and is responsive across various screen sizes.
  • State Management: Uses Riverpod for managing and persisting the state across the application.

Evaluation Criteria

  • Design & UI/UX: Adherence to design principles and user experience.
  • State Management: Effective and clean state management practices.
  • Offline Storage: Proper implementation of local data storage.
  • Code Quality: Emphasis on readability, maintainability, and best practices.

App Code Structure

  • Clean Architecture: The app is structured using clean architecture, focusing on separation of concerns and scalability. This ensures the codebase is maintainable and adaptable to future changes.

App Library Dependencies

  • local_auth: For implementing fingerprint authentication.
  • shared_preferences: For storing to-do tasks locally.
  • local_auth : This Flutter plugin provides means to perform local, on-device authentication of the user.

Additional Packages Used

  • flutter_screenutil: ^5.9.0
  • retrofit: ^4.0.3
  • json_annotation: ^4.7.0
  • shared_preferences: ^2.3.1
  • lottie: ^2.7.0
  • dio: ^5.4.0
  • intl: ^0.19.0
  • hooks_riverpod: ^2.4.9
  • cached_network_image: ^3.2.3
  • flutter_svg: ^2.0.9
  • flutter_staggered_animations
  • equatable: ^2.0.5

App Links

Walk Throgh Video Clip

Todo.App.Com.mp4