Skip to content

An Android notepad application implemented with latest Android technologies.

License

Notifications You must be signed in to change notification settings

cemtuver/android-notepad

Repository files navigation

Android Notepad

Want to try it out?
The latest APK file is available on the releases page.

App demo

App demo in dark mode

Features

  • List/add/edit/delete note
  • Note background image from internet
  • "Medium.com" like typing experience
  • Local data persistence
  • Dark theme

Architecture

UI layer
  • Fragments with single activity
  • ViewModel
  • LiveData
  • Paging3
  • Navigation
  • Glide
Domain layer
  • UseCase
Data layer
  • Room
  • Room paging
Architectural components
  • Kotlin
  • Coroutines
  • Hilt
Testing
  • Junit4
  • Mockk
App architecture

Development

Testing

The repository includes a comprehensive suite of JUnit4 unit tests that cover various aspects of the app, including view models, use cases, repositories, and mappers. The purpose of these tests is to ensure that the app functions as expected and to catch any issues or bugs that may arise during development.

To run the unit tests, run the gradle command below.

$ ./gradlew test

Linter

The repository includes a lint configuration that enforces consistent code style and identifies potential issues in the code.

To run the linter, run the gradle command below.

$ ./gradlew lint