KODA Flutter Developer Tasks
Complete Task Breakdown & Specifications
Table of Contents
- Overview
- Phase 1 Tasks
- Package 1.13: Authentication Module
- Package 1.14: Home & Navigation
- Package 1.15: Golden Opportunities Feature
- Package 1.16: Services & Regular Booking
- Package 1.17: Bookings Management
- Package 1.18: Profile & Account Management
- Package 1.19: Notifications & Search
- Package 1.20: Global Search & Testing
- Phase 1 Tasks
- Phase 2 Tasks
- Summary
Overview
Flutter Team Responsibilities
The Flutter team is responsible for building:
- KODA Mobile App (Customer-facing mobile application)
- KODA Team (Staff & partners mobile application)
Key Technologies
- Framework: Flutter 3.x
- Language: Dart
- State Management: Provider/Riverpod
- API Calls: HTTP/Dio
- Real-time Updates: WebSocket
- Push Notifications: Firebase Cloud Messaging (FCM)
- Local Storage: Hive/SharedPreferences
Important Notes
- Build from scratch (clean codebase)
- Follow Material Design 3 guidelines
- Support both iOS and Android
- Support AR and EN languages (RTL/LTR)
- Comprehensive error handling
- Offline mode considerations
- Unit, widget, and integration tests required
Phase 1 Tasks - KODA Mobile App
Package 1.13: Authentication Module
FL-M4-001
12H
Critical Path
Project Setup & Architecture Foundation
- Initialize Flutter project (KODA Mobile App)
- Configure project structure (clean architecture)
- Setup state management (Provider/Riverpod)
- Configure routing (GoRouter/AutoRoute)
- Setup dependency injection (GetIt)
- Configure environment files (.env for API URLs)
- Setup internationalization (i18n) for AR/EN
- Configure app icons and splash screen
- Git repository setup
FL-M4-002
4H
High
Splash Screen & App Initialization
- Create splash screen with KODA logo animation
- Implement app initialization logic
- Check authentication status
- Load cached user data
- Check app version (force update if needed)
- Initialize Firebase
- Loading indicator
- Navigate to appropriate screen (onboarding or home)
FL-M4-003
8H
High
Onboarding Screens
- Create 3-4 swipeable onboarding screens
- Page indicator (dots)
- Screen 1: Smart Luxury concept intro
- Screen 2: Services overview
- Screen 3: Golden Opportunities explanation
- Screen 4: How to book
- Skip button
- "Get Started" button (last screen)
- Language selection dialog
- Save "onboarding completed" flag
FL-M4-004
16H
Critical Path
Registration Screen
- Create registration form UI
- Full name input (4 parts with language toggle AR/EN)
- Gender selection (dropdown/radio)
- Date of birth picker
- Phone number input with country code picker
- Password input with show/hide toggle
- Password strength indicator
- Form validation (required fields, phone format, password strength)
- Terms & conditions checkbox
- Privacy policy link
- API integration: POST /api/v1/register
- Handle API errors
- Navigate to OTP verification on success
- Widget tests for form validation
FL-M4-005
8H
Critical Path
Login Screen
- Create login form UI
- Phone number input
- Password input (with show/hide)
- Remember me checkbox
- Login button (loading state)
- Forgot password link
- Don't have account? Register link
- API integration: POST /api/v1/login
- Store Sanctum token securely (flutter_secure_storage)
- Handle errors (invalid credentials, network)
- Navigate to home on success
- Widget tests
FL-M4-006
12H
High
OTP Verification Screen
- Create OTP input UI (6 digits)
- Auto-focus and auto-submit
- Display phone number being verified
- Resend OTP button with countdown timer (60 seconds)
- Change phone number link
- Verify button (loading state)
- API integration: POST /api/v1/phone-verification/send-otp
- API integration: POST /api/v1/phone-verification/verify-otp
- Handle errors (invalid OTP, expired OTP, rate limit)
- Navigate to home or complete registration
- Widget tests
FL-M4-007
10H
Medium
Forgot Password Flow
- Create forgot password screen
- Phone number input
- Send OTP button
- OTP verification (reuse component from FL-M4-006)
- New password screen with strength indicator
- Confirm password input
- Reset password button
- API integration: POST /api/v1/password/forgot
- API integration: POST /api/v1/password/reset
- Handle errors
- Navigate to login on success
- Widget tests
Summary
Total Hours by Application
| Application | Phase 1 Hours | Phase 2 Hours | Total Hours |
|---|---|---|---|
| KODA Mobile App | 470 | 198 | 668 |
| KODA Team App | 474 | 0 | 474 |
| TOTAL | 944 | 198 | 1,142 |
Total Tasks
- Phase 1 - Mobile App: 22 tasks
- Phase 1 - Team App: 15 tasks
- Phase 2 - Mobile App: 12 tasks
- TOTAL: 49 tasks