Skip to content

pradhyumna186/task_manager_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± Task Manager App

A comprehensive Flutter-based task management application with modern UI/UX design, local data persistence, and cross-platform compatibility.

✨ Features

πŸ” Authentication

  • User Registration & Login - Secure authentication system
  • Session Management - Persistent login sessions
  • Profile Management - User profile customization

πŸ“‹ Task Management

  • Create Tasks - Add new tasks with title, description, and due dates
  • Edit Tasks - Modify existing tasks with real-time updates
  • Delete Tasks - Remove tasks with confirmation dialogs
  • Task Categories - Color-coded organization system
  • Priority Levels - Low, Medium, High, and Urgent priorities
  • Progress Tracking - Visual progress bars and completion status
  • Due Date Management - Set and track task deadlines

🎨 User Experience

  • Material Design 3 - Modern, intuitive interface
  • Dark/Light Theme - Customizable appearance
  • Responsive Design - Works on all screen sizes
  • Smooth Animations - Fluid transitions and interactions
  • Intuitive Navigation - Easy-to-use tab-based interface

πŸ’Ύ Data Management

  • Local Storage - Offline-first with Hive database
  • Data Persistence - Tasks survive app restarts
  • Category Management - Create and manage custom categories
  • Settings Persistence - Remember user preferences

πŸ›  Tech Stack

Frontend Framework

  • Flutter 3.32.8 - Cross-platform UI framework
  • Dart 3.8.1 - Programming language

State Management

  • Provider 6.1.5 - State management solution
  • ChangeNotifier - Reactive state updates

Database & Storage

  • Hive 2.2.3 - Lightweight NoSQL database
  • Hive Flutter 1.1.0 - Flutter integration
  • Shared Preferences 2.5.3 - Key-value storage

Navigation

  • GoRouter 10.2.0 - Declarative routing
  • Navigation 2.0 - Modern navigation patterns

UI Components

  • Material Design 3 - Google's design system
  • Cupertino Icons 1.0.8 - iOS-style icons
  • Table Calendar 3.0.9 - Calendar widget
  • Intl 0.18.1 - Internationalization

Utilities

  • UUID 3.0.7 - Unique identifier generation
  • Path Provider 2.1.5 - File system access
  • Permission Handler 10.4.5 - Device permissions
  • Flutter Local Notifications 15.1.3 - Push notifications

πŸ“± Screenshots

Login Screen

Login Screen

Dashboard

Dashboard

Task Creation

Add Task

Task Details

Task Details

Settings

Settings

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (3.32.8 or higher)
  • Dart SDK (3.8.1 or higher)
  • Android Studio or VS Code
  • Git

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/task_manager_app.git
    cd task_manager_app
  2. Install dependencies

    flutter pub get
  3. Run the app

    # For web (Chrome)
    flutter run -d chrome
    
    # For Android
    flutter run -d android
    
    # For iOS
    flutter run -d ios

Build for Production

# Web build
flutter build web --release

# Android build
flutter build apk --release

# iOS build
flutter build ios --release

πŸ“– Usage Guide

First Time Setup

  1. Launch the app - Open the application
  2. Create account - Register with email and password
  3. Set up categories - Default categories are created automatically
  4. Start organizing - Begin creating and managing tasks

Managing Tasks

  1. Create Task - Tap the + button in the Tasks tab
  2. Fill details - Enter title, description, category, priority, and due date
  3. Save task - Tap "Create Task" to save
  4. Edit task - Tap any task to view and edit details
  5. Update progress - Use the slider to track completion
  6. Mark complete - Toggle completion status

Organizing with Categories

  • Default categories - Work, Personal, Shopping, Health
  • Color coding - Each category has a unique color
  • Filter tasks - View tasks by category
  • Custom categories - Create your own categories

Theme Customization

  1. Open Settings - Go to the Profile tab
  2. Select Theme - Choose Light, Dark, or System
  3. Apply changes - Theme updates immediately

πŸ— Project Structure

lib/
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ constants/
β”‚   β”‚   └── app_constants.dart
β”‚   └── theme/
β”‚       └── app_theme.dart
β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ task.dart
β”‚   β”œβ”€β”€ user.dart
β”‚   └── category.dart
β”œβ”€β”€ providers/
β”‚   β”œβ”€β”€ auth_provider.dart
β”‚   β”œβ”€β”€ task_provider.dart
β”‚   β”œβ”€β”€ category_provider.dart
β”‚   └── theme_provider.dart
β”œβ”€β”€ screens/
β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   └── login_screen.dart
β”‚   β”œβ”€β”€ home/
β”‚   β”‚   └── dashboard_screen.dart
β”‚   β”œβ”€β”€ tasks/
β”‚   β”‚   β”œβ”€β”€ add_task_screen.dart
β”‚   β”‚   └── task_detail_screen.dart
β”‚   └── settings/
β”‚       └── settings_screen.dart
β”œβ”€β”€ widgets/
β”‚   └── tasks/
β”‚       └── task_card.dart
└── main.dart

πŸ”§ Configuration

Environment Setup

The app uses default configurations for development. For production:

  1. Update app constants in lib/core/constants/app_constants.dart
  2. Modify theme in lib/core/theme/app_theme.dart
  3. Configure database in lib/main.dart

Database Schema

  • Tasks Box - Stores all task data
  • Users Box - Stores user profiles
  • Categories Box - Stores category information
  • Settings Box - Stores app preferences

πŸ§ͺ Testing

# Run unit tests
flutter test

# Run widget tests
flutter test test/widget_test.dart

# Run integration tests
flutter test integration_test/

πŸ“¦ Dependencies

Core Dependencies

dependencies:
  flutter:
    sdk: flutter
  provider: ^6.1.5
  hive: ^2.2.3
  hive_flutter: ^1.1.0
  shared_preferences: ^2.5.3
  go_router: ^10.2.0
  intl: ^0.18.1
  table_calendar: ^3.0.9
  uuid: ^3.0.7
  path_provider: ^2.1.5
  flutter_local_notifications: ^15.1.3
  permission_handler: ^10.4.3

Development Dependencies

dev_dependencies:
  flutter_test:
    sdk: flutter
  hive_generator: ^2.0.1
  build_runner: ^2.4.6

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Flutter Team - For the amazing framework
  • Material Design - For the design system
  • Hive Team - For the lightweight database
  • Provider Team - For state management solution

πŸ“ž Support

If you have any questions or need help:

πŸš€ Roadmap

Version 2.0 (Planned)

  • Cloud Sync - Google Drive integration
  • Team Collaboration - Shared task lists
  • Advanced Analytics - Task completion insights
  • Reminders - Push notifications for due dates
  • Export/Import - Data backup and restore

Version 3.0 (Future)

  • AI Integration - Smart task suggestions
  • Voice Commands - Speech-to-text task creation
  • Calendar Integration - Sync with Google Calendar
  • Offline Mode - Enhanced offline capabilities

Built with ❀️ using Flutter

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published