Hariku is a modern Android wellness app built with Kotlin, Jetpack Compose, and Clean Architecture. It offers a suite of features such as articles, a chatbot, meditation guides, mood tracking, and a personal profile, all wrapped in a sleek dark‑mode UI with glass‑morphism touches.
- Feature‑rich modules: 15 feature packages (article, chat, meditation, etc.) each following a
data → domain → presentationlayered pattern. - Jetpack Compose UI with a custom
HariKuTheme(dark & light modes, smooth transitions). - Koin DI for easy, testable dependency management.
- Room database integration for offline persistence (e.g., mood logs, journal entries).
- Navigation‑Compose powered routing with a centralized
NavGraph. - Modular architecture that scales effortlessly and enables isolated unit testing.
The app follows a Clean Architecture approach:
- Presentation – Compose screens, ViewModels, UI state handling (found under
feature_* /presentation). - Domain – Use‑cases and business rules (
feature_* /domain). - Data – Repositories, remote API clients, Room DAOs (
feature_* /data). - DI – Koin modules (
feature_* /diand coredi). - Core – Shared UI components, theme, utilities (
core/).
Hariku/
├─ app/
│ ├─ src/main/java/com/hariku/
│ │ ├─ HariKuApp.kt # Application class – starts Koin
│ │ ├─ MainActivity.kt # Entry point – sets Compose theme & NavGraph
│ │ ├─ core/ # Shared UI, DI, utilities
│ │ └─ feature_* / # 15 feature modules (article, chat, …)
│ └─ build.gradle.kts
├─ build.gradle.kts # Top‑level Gradle config
└─ settings.gradle.kts
- Language: Kotlin
- UI: Jetpack Compose, Material 3
- DI: Koin
- Database: Room
- Networking: Retrofit / Kotlin Coroutines (if applicable)
- Build: Gradle Kotlin DSL
- Testing: JUnit, MockK (unit tests) & Compose UI tests
- Android Studio Flamingo (or newer) with JDK 17
- Android SDK 34 (or the SDK version defined in
compileSdk)
git clone <repository‑url>
cd HarikuOpen the HariKu folder in Android Studio.
- Let Android Studio sync Gradle.
- Connect an Android device or start an emulator.
- Click Run (
▶️ ) or use the command line:
./gradlew installDebugUnit tests are located alongside each feature module.
./gradlew testDebugUnitTestCompose UI tests can be executed with:
./gradlew connectedDebugAndroidTest- Fork the repository.
- Create a feature branch (
git checkout -b feature/awesome-feature). - Follow the existing clean‑architecture pattern.
- Write accompanying unit tests.
- Submit a Pull Request with a clear description.
This project is licensed under the MIT License – see the LICENSE file for details.