Skip to content

mohsinraza-fdev/Kanban

Repository files navigation

Kanban Task Management App

A feature-rich Flutter application implementing a Kanban board system for task and project management, built with clean architecture principles and MVVM pattern.

✨ Features

🎯 Project Management

  • Multi-project support
  • Project switching
  • Organized task boards

📋 Task Management

  • CRUD operations for tasks
  • Status tracking (Open/In Progress/Done)
  • Task details & due dates
  • Task commenting system

⏱️ Time Tracking

  • Built-in task timer
  • Individual task time logging
  • Time tracking history

🎨 Customization

  • Light/Dark themes

🚀 Getting Started

Prerequisites

  • Flutter SDK (Latest stable)
  • Dart SDK
  • Android Studio/VS Code with Flutter plugins

Installation

# Clone repo
git clone https://github.com/yourusername/kanban_app.git

# Install dependencies
cd kanban_app
flutter pub get

# Run app
flutter run

💻 Technical Stack

  • UI Framework: Flutter
  • State Management: Stacked
  • API Client: Dio
  • Local Storage: Hive

🏗️ Architecture

Clean Architecture

The app implements clean architecture with distinct layers:

  • Domain Layer: Business logic and entities
  • Data Layer: Repositories and data sources
  • Presentation Layer: UI and ViewModels

MVVM Pattern

  • Model: Business logic and data
  • View: UI components
  • ViewModel: State management and business logic bridge

Key Principles

  • Separation of concerns
  • Dependency injection
  • Repository pattern
  • Reactive state management

📱 Usage

Home Page

The Home Page provides a comprehensive overview of your task management:

  • Project Header: Create new projects or access existing ones via "My Projects"
  • Task Overview:
    • Quick view of total tasks count
    • Visual task distribution in a donut chart showing:
      • Open tasks (Blue)
      • In Progress tasks (Yellow)
      • Completed tasks (Green)
  • Task Statistics: Real-time percentage breakdown of task statuses
  • Completed Tasks Section: Lists recently completed tasks with:
    • Due dates
    • Time spent on each task

Task Board

The Task Board offers a classic Kanban view with three columns:

  • OPEN: New and unstarted tasks (Blue)
  • IN PROGRESS: Tasks currently being worked on (Yellow)
  • DONE: Completed tasks (Green)

Features:

  • Task Cards show:
    • Task title
    • Due date (if set)
    • Time spent tracking
    • Status indicator dot
  • Quick Add: Floating "Add Task" button for creating new tasks
  • Status Management:
    • Tasks move between columns as their status changes
    • Color-coded indicators for easy status recognition
  • Details View: Tap any task to view/edit full details and comments

Time Tracker

The Time Tracker allows precise time tracking for tasks:

Key Features

  • Task Selection: Choose any task from your board to track time
  • Timer Controls:
    • Play button to start timing
    • Pause button to temporarily stop
    • Timer display showing HH:MM:SS
  • Recent Trackings:
    • List of recently timed tasks
    • Color-coded status indicators
    • Total time spent per task
    • Chronological tracking history

Settings

The Settings page offers customization options:

Theme Selection

  • Light Theme: Default bright interface
  • Dark Theme: Reduced eye strain in low light
  • Theme changes apply instantly throughout the app

Theme Features

  • System-wide theme application
  • Persistent theme selection
  • Optimized color palettes for both modes
  • Status colors remain consistent across themes

About

A Project management app in Flutter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published