Skip to content
/ my-todo Public

A Task Management app build using Flutter and a custom express backend

Notifications You must be signed in to change notification settings

OmarJ9/my-todo

Repository files navigation

✨ My Todo App

A modern, minimalist task management application built with Flutter. Stay organized and boost your productivity with our intuitive interface. Built using Clean Architecture principles for maintainable, testable, and scalable code.

Star ⭐ the repo if you like what you see 😉.

🌟 Features

  • ✨ Clean, modern UI design
  • 🔐 Authentication with Custom Backend
  • 📱 Cross-platform support (iOS & Android)
  • 🎨 Customizable themes
  • 🔔 Reminders and notifications
  • 🏗️ Clean Architecture implementation
  • 🧩 Feature-first organization
  • 🔄 Dependency Injection
  • ⚡ Efficient state management with Cubit

📸 Screenshots

Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5 Screenshot 6
Screenshot 7 Screenshot 8 Screenshot 9

🏗️ Architecture

This application follows Clean Architecture principles with a feature-first approach:

lib/
├── core/                  # Shared core components
│   ├── constants/         # App-wide constants
│   ├── di/                # Dependency injection
│   ├── errors/            # Error handling
│   ├── models/            # Core models
│   ├── network/           # Network utilities
│   ├── route/             # Navigation/routing
│   ├── services/          # Core services
│   ├── theme/             # App theming
│   ├── utils/             # Helper utilities
│   ├── value_objects/     # Domain value objects
│   └── widgets/           # Reusable widgets
│
├── features/              # App features
│   ├── auth/              # Authentication feature
│   ├── onboarding/        # Onboarding feature
│   ├── profile/           # User profile feature
│   ├── splash/            # Splash screen feature
│   ├── task/              # Task management feature
│   │   ├── data/          # Task data layer (repositories, data sources)
│   │   ├── blocs/         # Task state management
│   │   └── presentation/  # Task UI components
│   └── welcome/           # Welcome feature
│
└── main.dart              # App entry point

Each feature follows the same layered architecture:

  • Data Layer: API clients, repositories, local storage
  • Presentation Layer: UI components, screens, widgets
  • State Management: Cubits/BLoCs as a glue between the two layer for managing state

🛠️ Tech Stack

  • Flutter
  • Cubit (State Management)
  • GoRouter (Navigation)

🚀 Getting Started

Backend Setup

For detailed backend setup instructions, visit my-todo-api

Flutter App Setup

  1. Clone the repository
git clone https://github.com/OmarJ9/my-todo.git
cd my-todo
  1. Install dependencies
flutter pub get
  1. Run the app
flutter run

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Made with ❤️ by Omar

Languages