Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hashemi-hossein/ara-note
A reliable note taking app
https://github.com/hashemi-hossein/ara-note
android clean-architecture coroutines-flow datastore-android hilt-dependency-injection jetpack jetpack-compose kotlin kotlin-coroutines material3 mockk mvi-android pageobject-pattern room-database uitesting unittesting
Last synced: 5 days ago
JSON representation
A reliable note taking app
- Host: GitHub
- URL: https://github.com/hashemi-hossein/ara-note
- Owner: hashemi-hossein
- License: gpl-3.0
- Created: 2021-09-22T17:07:28.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2023-06-13T17:29:36.000Z (over 1 year ago)
- Last Synced: 2024-08-03T01:17:11.634Z (3 months ago)
- Topics: android, clean-architecture, coroutines-flow, datastore-android, hilt-dependency-injection, jetpack, jetpack-compose, kotlin, kotlin-coroutines, material3, mockk, mvi-android, pageobject-pattern, room-database, uitesting, unittesting
- Language: Kotlin
- Homepage:
- Size: 1.79 MB
- Stars: 28
- Watchers: 4
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Ara Note
A reliable note taking app
[](https://apt.izzysoft.de/fdroid/index/apk/ara.note)
Or get the latest APK from the [Releases Section](https://github.com/hashemi-hossein/ara-note/releases/latest)
## Screenshots
[](fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot1.jpg)
[](fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot2.jpg)
[](fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot3.jpg)
[](fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot4.jpg)
[](fastlane/metadata/android/en-US/images/phoneScreenshots/screenshot5.jpg)## Directory structure
.
├── app
├── core
│ ├── alarm
│ ├── backup
│ ├── database
│ ├── domain
│ ├── entity
│ ├── preference
│ ├── repository
│ ├── test
│ ├── ui
│ └── util
├── feature
│ ├── home
│ ├── navigation
│ ├── notebookslist
│ ├── notedetail
│ └── settings
└── gradle_plugin## Technical point of view
* [Kotlin](https://kotlinlang.org/)
* Clean Architecture + [MVI](https://developer.android.com/topic/architecture)
* [Multi-Module Project](https://developer.android.com/topic/modularization)
* [Gradle Version Catalog](https://docs.gradle.org/current/userguide/platforms.html)
* Custom Gradle Plugins (in gradle_plugin directory)* [Material 3](https://m3.material.io/) design system
* Declarative UI by [Jetpack Compose](https://developer.android.com/jetpack/compose)
* [Reactive programming](https://en.wikipedia.org/wiki/Reactive_programming) by [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) and [Flow](https://kotlinlang.org/docs/flow.html)
* [Dependency injection (DI)](https://en.wikipedia.org/wiki/Dependency_injection) by [Hilt](https://developer.android.com/training/dependency-injection/hilt-android)
* Data Persistence by [Room database](https://developer.android.com/training/data-storage/room/) and [DataStore](https://developer.android.com/topic/libraries/architecture/datastore)* Unit Tests
* UI Tests
* [Page Object Models](https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/) for UI Tests
* [MockK](https://mockk.io/) mocking lib
* [kotlin.test](https://kotlinlang.org/api/latest/kotlin.test/) assertion lib