A secure Android notepad built with Jetpack Compose, Room, Hilt and clean architecture.
Default unlock password: 4848
- Password-protected access with DataStore-backed session
- Create, edit, pin, color-code, and delete notes
- Full-text search with debounced queries
- Sort by recency or title
- Room database with schema migration (v1 to v2)
- Material 3 theming with light and dark support
- Splash screen and edge-to-edge UI
Clean architecture split into three layers:
me.notepad
├── data → Room, mappers, repository implementations, DataStore
├── domain → Pure models, repository interfaces, use cases
├── presentation → Compose UI, MVI ViewModels, navigation, theme
└── di → Hilt modules (database, repository, dispatchers)
Every screen uses an MVI contract (State, Event, Effect) backed by a
StateFlow and a one-shot Channel for navigation effects.
- Kotlin 2.0, Coroutines, Flow
- Jetpack Compose + Material 3 + Navigation Compose
- Room 2.6 with KSP
- Hilt 2.52 for dependency injection
- DataStore Preferences for the authentication session
- AndroidX Core Splashscreen
./gradlew :app:assembleDebug
Requires JDK 17 and Android Gradle Plugin 8.7+.