A modern Flutter app to organize your tasks efficiently with a clean UI.
Find a file
2025-04-30 10:55:46 +03:30
.vscode Add .gitignore for environment variables and iOS build artifacts; create VSCode launch configuration 2025-04-29 16:01:15 +03:30
android Update Firebase dependencies in build.gradle and add ProGuard rules for Firebase and Google Play Services 2025-04-29 20:40:06 +03:30
assets Enhance README with visual elements, including a Play Store logo and a demo video iframe. Add a link to the YouTube demo for better user engagement. 2025-04-30 10:29:06 +03:30
ios Add Android and iOS configurations 2025-04-29 16:02:09 +03:30
lib Add package_info_plus dependency and implement app version display in SplashPage. Update pubspec.yaml and pubspec.lock accordingly. 2025-04-29 21:54:50 +03:30
test Refactor authentication error handling to use toast notifications instead of dialog prompts. Update AuthCubit to emit error states with messages. Remove unused signOut method from AuthCubit. 2025-04-29 21:40:42 +03:30
.gitignore Update README with detailed project description, features, technical overview, and security rules; add versions directory to .gitignore 2025-04-29 20:41:45 +03:30
.metadata Add initial implementation of Task Manager app with authentication, task management, and user profile features. Includes UI components for login, signup, and task management, along with state management using BLoC pattern. 2025-04-29 16:05:06 +03:30
analysis_options.yaml Add initial implementation of Task Manager app with authentication, task management, and user profile features. Includes UI components for login, signup, and task management, along with state management using BLoC pattern. 2025-04-29 16:05:06 +03:30
pubspec.lock Add package_info_plus dependency and implement app version display in SplashPage. Update pubspec.yaml and pubspec.lock accordingly. 2025-04-29 21:54:50 +03:30
pubspec.yaml Add package_info_plus dependency and implement app version display in SplashPage. Update pubspec.yaml and pubspec.lock accordingly. 2025-04-29 21:54:50 +03:30
README.md Update README to simplify header by removing table structure and enhancing the project description for clarity and engagement. 2025-04-30 10:37:28 +03:30
REMAINING_TASKS.md Add REMAINING_TASKS.md to outline upcoming features and improvements for the project, including version info, custom UI elements, and style updates. 2025-04-30 10:55:46 +03:30

Task Manager App

A modern task management application built with Flutter that helps users organize their tasks efficiently. This app demonstrates best practices in mobile app development and provides a clean, intuitive user interface.

Features

  • 🔐 Secure Authentication: Sign in with your Google account
  • 📝 Task Management: Create, edit, and delete tasks
  • 📱 Cross-Platform: Works on both iOS and Android devices
  • 🌙 Modern UI: Clean and intuitive interface
  • 🔄 Real-time Updates: Tasks sync automatically across devices

Technical Overview

This app is built using:

  • Flutter: A modern framework for building beautiful, natively compiled applications
  • Firebase: For authentication and data storage
  • BLoC Pattern: For state management and clean architecture

Project Structure

The app is organized into several key components:

  • lib/features/: Contains the main features of the app
  • lib/core/: Core functionality and utilities
  • lib/shared/: Shared components and widgets

Getting Started

  1. Prerequisites

    • Flutter SDK (version 3.6.2 or higher)
    • Android Studio or Xcode
    • Google account for testing
  2. Setup

    • Clone the repository
    • Run flutter pub get to install dependencies
    • Configure Firebase in your project
    • Run the app using flutter run

Security

The app uses Firebase Authentication and Firestore with strict security rules to ensure your data is protected. Each user's tasks are isolated and can only be accessed by the authenticated user.

Firestore Security Rules

The following security rules are implemented to ensure data privacy and security:

rules_version = '2';

service cloud.firestore {
  match /databases/{database}/documents {
    
    // Match the parent user document
    match /Tasks/{userId} {
      // This allows reading/writing the parent doc if needed (optional)
      allow read, write: if request.auth.uid == userId;

      // Match all subcollections under /Tasks/{userId}
      match /{subCollection}/{docId} {
        allow read, write: if request.auth.uid == userId;
      }
    }
  }
}

These rules ensure that:

  • Each user can only access their own tasks
  • Tasks are organized by user ID
  • All operations (read/write) require authentication
  • Data is protected at both the document and subcollection level

Project Demonstration

This project serves as a demonstration of modern mobile app development practices and can be used as a reference for:

  • MVVM architecture implementation
  • State management using BLoC
  • Firebase integration
  • Cross-platform development with Flutter