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.
- 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
- 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
- Filter tasks by:
- Priority (Low / Medium / High)
- Status (All / Completed / Incomplete)
- Filters work together with today-only view
- Firebase Authentication
- User-specific data (each user sees only their tasks & schedules)
- Firebase Firestore
- Real-time sync
- Structured per user:
users/{userId}/tasks users/{userId}/schedules
- Flutter (Material 3)
- Dart
- Riverpod (state management)
- Firebase
- Authentication
- Cloud Firestore
- table_calendar
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
- Flutter SDK (3.0 or higher)
- Dart SDK
- Firebase account
- Android Studio / VS Code with Flutter extensions
git clone https://github.com/your-username/gig_task_manager.git
cd gig_task_managerflutter pub get-
Create a Firebase project at Firebase Console
-
Enable the following services:
- Authentication (Email/Password method)
- Cloud Firestore
-
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/
- Download
-
Install FlutterFire CLI (optional but recommended):
dart pub global activate flutterfire_cli flutterfire configure
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;
}
}
}flutter runOr for a specific device:
# List available devices
flutter devices
# Run on a specific device
flutter run -d <device_id>flutter build apk --releaseflutter build appbundle --releaseflutter build ios --release- Shows only tasks for today
- Filters still apply (priority & status)
- Selecting a date updates schedules list
- Only schedules for that day are shown
- 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
- Ensure
google-services.json/GoogleService-Info.plistare in the correct directories - Run
flutter cleanandflutter pub get - Rebuild the app
- Check that
table_calendaris properly installed inpubspec.yaml - Run
flutter pub get
flutter clean
flutter pub get
flutter runSreehari Upas
Flutter Developer | Firebase | Mobile Apps
- GitHub: @SreehariU
- Flutter team for the amazing framework
- Firebase for backend services
table_calendarpackage contributors- Riverpod for state management
Coming soon...
β If you found this helpful, please star the repository!