Skip to content

Commit 0129516

Browse files
Fix README inaccuracies
- Gradle 8.9 → 8.13 - 14 → 16 modules (add services:ai, features:login) - 12 → 53 tests across 7 ViewModels - Feature flags are not UI-only, they control real behavior - Fix DI snippet to match actual code - Remove orphaned debounced search claim, add AI summary Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent c94a41c commit 0129516

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

README.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ A modern Android application demonstrating clean architecture (MVVM), Jetpack Co
1919
| Reactive & Concurrency | Kotlin Coroutines, StateFlow |
2020
| Architecture | MVVM + Navigation Compose |
2121
| Dependency Injection | Manual (ViewModelFactory) |
22-
| Build System | Gradle 8.9, Version Catalog |
22+
| Build System | Gradle 8.13, Version Catalog |
2323
| Minimum SDK | API 26 (Android 8.0) |
2424
| Target SDK | API 35 (Android 15) |
2525
| Testing | JUnit 5, MockK, Turbine |
@@ -36,18 +36,20 @@ Fun-Android/
3636
├── services/
3737
│ ├── network/ # Network service interface + mock implementation
3838
│ ├── favorites/ # Favorites service (SharedPreferences-backed)
39-
│ └── search/ # Search service (delegates to network)
39+
│ ├── search/ # Search service (delegates to network)
40+
│ └── ai/ # AI summary service
4041
└── features/
42+
├── login/ # Login screen
4143
├── home/ # Home tab (item list + favorites)
42-
├── search/ # Search tab (debounced query)
43-
├── items/ # Favorites tab (filtered items)
44-
├── profile/ # Profile tab (current user)
44+
├── search/ # Search (debounced query)
45+
├── items/ # Items tab (filtered items)
46+
├── profile/ # Profile screen (via top-bar icon)
4547
├── profile-detail/ # Profile detail screen
4648
├── detail/ # Item detail screen
47-
└── settings/ # Settings tab (feature flags)
49+
└── settings/ # Settings tab (feature toggles)
4850
```
4951

50-
14 modules total. All modules except `app` are Android library modules.
52+
16 modules total. All modules except `app` are Android library modules.
5153

5254
**Dependency Hierarchy:**
5355
```
@@ -69,9 +71,10 @@ Services are created lazily in `MainActivity` and passed through the composable
6971

7072
```kotlin
7173
// MainActivity.kt
72-
private val networkService by lazy { DefaultNetworkService() }
74+
private val networkService by lazy { DefaultNetworkService(simulateErrors = appSettings.simulateErrorsEnabled) }
7375
private val favoritesService by lazy { DefaultFavoritesService(sharedPreferences) }
7476
private val searchService by lazy { DefaultSearchService(networkService) }
77+
private val aiService by lazy { DefaultAiService() }
7578
```
7679

7780
### Screen/Content Split
@@ -107,8 +110,8 @@ _state.update { current ->
107110
- **3-Tab Navigation**: Home, Items, Settings (Profile via top-bar icon)
108111
- **Detail Screens**: Item detail with favorite toggle, profile detail with back navigation
109112
- **Reactive Favorites**: SharedPreferences-backed, observed via StateFlow across all screens
110-
- **Debounced Search**: 300ms debounce with `distinctUntilChanged` and `flatMapLatest`
111-
- **Feature Flags**: Runtime toggles in Settings (UI-only for demo)
113+
- **Feature Toggles**: Runtime flags that control app behavior (featured carousel, error simulation, AI summary)
114+
- **AI Summary**: On-device summarisation on item detail screen
112115
- **Material 3 Theming**: Dynamic color support, light/dark mode
113116
- **Error Handling**: Loading/error/content states with retry support
114117
- **Pull-to-Refresh**: On applicable screens
@@ -128,7 +131,7 @@ NavHost
128131
## Testing
129132

130133
- **Unit Tests**: JUnit 5 + MockK + Coroutines Test
131-
- **12 tests** across 3 ViewModels (Home, Detail, Settings)
134+
- **53 tests** across 7 ViewModels
132135
- **Coroutine testing**: `StandardTestDispatcher` + `advanceUntilIdle`
133136

134137
```bash
@@ -167,7 +170,7 @@ cd Fun-Android
167170
This project demonstrates **AI-assisted Android development** using Claude Code.
168171

169172
Architecture and patterns designed by developer. Claude assisted with:
170-
- Full project scaffolding (14 modules)
173+
- Full project scaffolding (16 modules)
171174
- Feature implementation
172175
- Code review (5-agent parallel review)
173176
- Bug fixes (atomic StateFlow, nav safety, padding)

0 commit comments

Comments
 (0)