Skip to content

SreehariU/gig-task-manager-flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“… Gig Task Manager

A Flutter-based task and schedule management app with calendar integration, task filtering, and Firebase backend. Designed to help users plan their day, manage priorities, and track work efficiently.


✨ Features

βœ… Task Management

  • Create, edit, and delete tasks
  • Mark tasks as completed / incomplete
  • Assign priority levels: Low, Medium, High
  • Tasks automatically filtered to show today's tasks
  • Swipe to delete tasks with confirmation

πŸ“† Schedule & Calendar

  • Calendar view using table_calendar
  • Add schedules for specific dates and time ranges
  • View schedules per selected day
  • Edit and delete schedules
  • Schedules stored securely in Firebase
  • Real-time updates using Firestore streams

πŸ” Filters

  • Filter tasks by:
    • Priority (Low / Medium / High)
    • Status (All / Completed / Incomplete)
  • Filters work together with today-only view

πŸ” Authentication

  • Firebase Authentication
  • User-specific data (each user sees only their tasks & schedules)

☁️ Backend

  • Firebase Firestore
  • Real-time sync
  • Structured per user:
    users/{userId}/tasks
    users/{userId}/schedules
    

πŸ›  Tech Stack

  • Flutter (Material 3)
  • Dart
  • Riverpod (state management)
  • Firebase
    • Authentication
    • Cloud Firestore
  • table_calendar

πŸ“‚ Project Structure

lib/
β”œβ”€β”€ app/
β”‚   └── home_screen.dart
β”œβ”€β”€ features/
β”‚   β”œβ”€β”€ auth/
β”‚   β”‚   β”œβ”€β”€ auth_provider.dart
β”‚   β”‚   β”œβ”€β”€ auth_screen.dart
β”‚   β”‚   └── register_screen.dart
β”‚   └── tasks/
β”‚       β”œβ”€β”€ models/
β”‚       β”‚   β”œβ”€β”€ task_model.dart
β”‚       β”‚   └── schedule_model.dart
β”‚       β”œβ”€β”€ screens/
β”‚       β”‚   β”œβ”€β”€ task_list_screen.dart
β”‚       β”‚   β”œβ”€β”€ add_task_screen.dart
β”‚       β”‚   β”œβ”€β”€ calendar_screen.dart
β”‚       β”‚   └── add_schedule_screen.dart
β”‚       β”œβ”€β”€ task_provider.dart
β”‚       β”œβ”€β”€ task_filter_provider.dart
β”‚       └── schedule_provider.dart
β”œβ”€β”€ main.dart

πŸš€ Getting Started

Prerequisites

  • Flutter SDK (3.0 or higher)
  • Dart SDK
  • Firebase account
  • Android Studio / VS Code with Flutter extensions

1️⃣ Clone the repository

git clone https://github.com/your-username/gig_task_manager.git
cd gig_task_manager

2️⃣ Install dependencies

flutter pub get

3️⃣ Firebase Setup

  1. Create a Firebase project at Firebase Console

  2. Enable the following services:

    • Authentication (Email/Password method)
    • Cloud Firestore
  3. Add Firebase to your Flutter app:

    For Android:

    • Download google-services.json
    • Place it in android/app/

    For iOS:

    • Download GoogleService-Info.plist
    • Place it in ios/Runner/
  4. Install FlutterFire CLI (optional but recommended):

    dart pub global activate flutterfire_cli
    flutterfire configure

4️⃣ Configure Firestore Security Rules

In your Firebase Console, go to Firestore Database > Rules and add:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId}/{collection=**}/{document=**} {
      allow read, write: if request.auth != null && request.auth.uid == userId;
    }
  }
}

5️⃣ Run the app

flutter run

Or for a specific device:

# List available devices
flutter devices

# Run on a specific device
flutter run -d <device_id>

πŸ“± Building for Production

Android APK

flutter build apk --release

Android App Bundle (for Play Store)

flutter build appbundle --release

iOS

flutter build ios --release

πŸ“Œ Current Behavior

Task View

  • Shows only tasks for today
  • Filters still apply (priority & status)

Calendar View

  • Selecting a date updates schedules list
  • Only schedules for that day are shown

🧠 Future Improvements

  • Auto-convert schedules to tasks on the scheduled day
  • Push notifications & reminders
  • Drag-and-drop schedule editing
  • Weekly / monthly analytics dashboard
  • Offline support with local caching
  • Dark mode theme
  • Task categories/tags
  • Search functionality
  • Export tasks to CSV/PDF

πŸ› Troubleshooting

Firebase not working?

  1. Ensure google-services.json / GoogleService-Info.plist are in the correct directories
  2. Run flutter clean and flutter pub get
  3. Rebuild the app

Calendar not displaying?

  • Check that table_calendar is properly installed in pubspec.yaml
  • Run flutter pub get

Build errors?

flutter clean
flutter pub get
flutter run

πŸ‘€ Author

Sreehari Upas
Flutter Developer | Firebase | Mobile Apps


πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Firebase for backend services
  • table_calendar package contributors
  • Riverpod for state management

πŸ“Έ Screenshots

Coming soon...


⭐ If you found this helpful, please star the repository!

About

Flutter task management app with Firebase authentication and Firestore

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors