Skip to content

Project Structure

nidhim10 edited this page Apr 5, 2025 · 1 revision

This section outlines the core structure of the Xplore NU Android application, built with Kotlin and Jetpack Compose using a modular MVVM architecture.


Module Breakdown

The app follows a modular clean architecture with clear separation of concerns.

app/

  • Main application module (UI layer).
  • Contains UI screens, navigation, and dependency injection.
  • Connects to the domain and data layers.

domain/

  • Pure Kotlin module that defines business logic and domain models.
  • No Android dependencies — ideal for unit testing.
  • Includes use cases and entity definitions.

data/

  • Responsible for data handling, networking, and caching.
  • Includes Retrofit services and repository implementations.
  • Interacts with external APIs and local storage (Room).

Build & Tooling Files

  • build.gradle.kts: Kotlin Gradle build files per module.
  • libs.versions.toml: Centralized dependency management.
  • proguard-rules.pro: Proguard rules per module.
  • .github/: GitHub Actions CI/CD workflows.
  • gradlew / gradlew.bat: Gradle wrapper scripts.

Testing

  • androidTest/: UI tests
  • test/: Unit tests
  • Mocking libraries like Mockk and Turbine used for state & coroutine testing.

Clone this wiki locally