Files
financial-assistant/TODO.md
2025-04-14 13:09:02 +00:00

64 lines
2.2 KiB
Markdown

# Project TODO
## Phase 1: MVP Development
### Task 1.1: Project Setup
- [ ] Create Android Studio Project (`fin-assist`, Compose, Kotlin)
- [ ] Initialize Git Repository & Initial Commit
- [ ] Define Project Structure (`ui`, `data`, `domain`, `di`, `util`)
- [ ] Add Core Dependencies (Compose, Navigation, Lifecycle, Room, Coroutines, Hilt/KSP) & Sync
### Task 1.2: Local Database (Room)
- [ ] Define Room Entities (`BillEntity`, `PaymentEntity`, `GoalEntity`)
- [ ] Define Room DAOs (`BillDao`, `PaymentDao`, `GoalDao`)
- [ ] Define Room Database Class (`AppDatabase`)
- [ ] Provide Database Instance (Hilt Module Recommended)
### Task 1.3: Basic UI Shell & Navigation
- [ ] Define Navigation Routes (Sealed Class/Enum)
- [ ] Implement NavHost & Placeholder Screens
- [ ] Implement Bottom Navigation Bar (Material 3)
### Task 1.4: Manual Bill Tracking
- [ ] Create `BillRepository`
- [ ] Create `BillViewModel` (StateFlow, CRUD functions)
- [ ] Implement Bill List Screen (`LazyColumn`, `BillItem`, FAB)
- [ ] Implement Add/Edit Bill Screen (Inputs, Date Picker, Save Logic)
### Task 1.5: Manual Payment Tracking
- [ ] Add "Mark as Paid" Action to Bill Item/Screen
- [ ] Implement ViewModel logic to update Bill & add Payment record
- [ ] Create `PaymentHistoryViewModel`
- [ ] Implement Payment History Screen
### Task 1.6: Basic Manual Goal Setting
- [ ] Create `GoalRepository` & `GoalViewModel`
- [ ] Implement Goal List Screen
- [ ] Implement Add/Edit Goal Screen
### Task 1.7: Essential Notifications
- [ ] Create `BillReminderWorker` (extends `CoroutineWorker`)
- [ ] Implement Worker Logic (Query Bills, Build & Show Notification)
- [ ] Schedule Periodic Work Request (`WorkManager`)
### Task 1.8: MVP Testing
- [ ] Write Unit Tests (ViewModels, Repositories)
- [ ] Write Database Tests (DAOs)
- [ ] Perform Manual Testing (Create Test Plan)
- [ ] Write Basic UI Tests (Compose Testing)
### Task 1.9: MVP Deployment Prep
- [ ] Code Review & Cleanup (Lint)
- [ ] Update `README.md`
- [ ] Create App Icons & Store Assets
- [ ] Configure Release Build (Proguard/R8, Signing)
- [ ] Generate Signed App Bundle/APK
---
## Phase 2: Gamification & Synchronization (Planned)
## Phase 3: Advanced Features & Intelligence (Planned)
## Phase 4: Polish & Refinement (Planned)