TaskMaster PRO is a mobile application developed using Flutter and integrated with Firebase for backend services. The app leverages Firebase Authentication for secure user login and Firebase Firestore for storing and syncing tasks in real time. The primary goal is to provide users with a seamless and efficient platform to create, manage, and track tasks while ensuring synchronization across multiple devices.
Flutter
Flutter is used for building the user interface (UI), enabling the development of natively compiled applications for mobile, web, and desktop from a single codebase.
Firebase Authentication
Firebase Authentication handles user sign-up and login functionality using email and password.
Firebase Firestore
Firestore is used to store tasks and allows real-time synchronization, providing a scalable and flexible NoSQL cloud database.
Flutter Packages
firebase_auth
: For Firebase Authentication functionality.cloud_firestore
: For interacting with Firebase Firestore to store and retrieve task data.provider
: Used for state management across the app.shared_preferences
: For storing user preferences locally.Clone the Repository
git clone https://github.com/Varun-Mayilvaganan/TaskMaster_Pro.git
cd TaskMaster_Pro
Install Dependencies
Run the following command to install all necessary packages:
flutter pub get
Configure Firebase
google-services.json
GoogleService-Info.plist
android/app/
ios/Runner/
Run the Application
After setting everything up, run the app on your device or emulator:
flutter run
Task Management
Users can create tasks by entering a title, description, and due date. These tasks are stored in Firestore and synced across devices in real-time.
Logout
Users can log out from the app using the logout button, which triggers Firebase Authentication’s sign-out process.
lib/
├── models/ # Contains all data models
│ └── task.dart # Task model class
├── screens/ # UI Screens of the app
│ ├── auth_screen.dart # Authentication screen (Login/Signup)
│ ├── home_screen.dart # Home screen (task dashboard)
│ ├── add_task_screen.dart # Add task screen
│ ├── edit_task_screen.dart # Edit task screen
│ └── task_detail_screen.dart# Task detail screen
├── services/ # Services for Firebase and app logic
│ ├── auth_service.dart # Handles Firebase Authentication logic
│ └── firestore_service.dart # Handles Firebase Firestore operations (CRUD for tasks)
├── widgets/ # Reusable components
│ └── task_card.dart # Widget that displays each task on the home screen
└── main.dart # Main entry point of the app, initializes Firebase and sets up routes
Thanks for viewing this documentation. If you have any queries; please feel free to reach out to me! varunmayilvaganan11@gmail.com