A production-ready Task Todo application built with Flutter using MVC architecture. The project integrates Firebase services along with REST API (HTTP) integration and Firebase Cloud Messaging (FCM) for push notifications.
- 🔐 Firebase Authentication (Login / Register / Logout)
- 📝 Create, Update, Delete Tasks
- 🔄 Get_x State Management
- ☁️ Cloud Firestore for real-time database
- 🔔 Push Notifications using Firebase Cloud Messaging (FCM)
- 🌐 REST API integration using HTTP package
- 🔄 Real-time sync between local and cloud data
- 🎨 Clean and responsive UI
- 🧠 MVC Architecture for scalable code structure
lib/
│
├── models/ # Data models (Task, User, API models)
├── views/ # UI screens (Home, Login, etc.)
├── controllers/ # Business logic & state handling
├── services/ # Firebase + API services (Auth, Firestore, HTTP, FCM)
├── widgets/ # Reusable UI components
└── main.dart # Entry point- Firebase Authentication
- Cloud Firestore
- Firebase Cloud Messaging (FCM)
- Used for external API integration
- Handled via
httppackage - JSON parsing for models
- Error handling for network requests
- Task update notifications
- Foreground & background message handling
- Device token management
- Topic-based messaging support
- GET requests → Fetch external data
- POST requests → Send data to server
- PUT / DELETE → Update & remove data
- JSON serialization & deserialization
- Exception handling for network errors
- Flutter (Dart)
- MVC Architecture
- Firebase Auth
- Cloud Firestore
- Firebase Messaging (FCM)
- HTTP Package (REST API)
git clone https://github.com/KashifKT/Task-Todo.gitcd task-todo-mvc-firebase-httpflutter pub get- Add
google-services.json(Android) - Add
GoogleService-Info.plist(iOS) - Enable Auth, Firestore, FCM in Firebase Console
flutter run- User authenticates via Firebase
- Tasks are created and stored in Firestore
- HTTP APIs fetch external or supplementary data
- Controller manages all business logic
- UI updates in real-time
- FCM sends push notifications for task updates
- 📂 Task categories & filters
- ⏰ Scheduled notifications
- 🌙 Dark mode
- 📊 Analytics dashboard
- 👥 Multi-user collaboration
- 🔐 Role-based access system
- Fork the repository
- Create a feature branch
- Commit changes
- Push branch
- Open Pull Request
MIT License
KashifKT