Skip to content

Repository files navigation

Notepad

A secure Android notepad built with Jetpack Compose, Room, Hilt and clean architecture.

Default unlock password: 4848

Features

  • 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

Architecture

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.

Tech stack

  • 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

Build

./gradlew :app:assembleDebug

Requires JDK 17 and Android Gradle Plugin 8.7+.

About

ANDROID notepad with SqlLite

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages