Skip to content

Aks-4125/nasa-jetpack-android

Repository files navigation

Android NASA - Jetpack Compose

Project Structure

The project follows a multimodule architecture with the following modules:

  • Core Module: Contains common UI components and utilities that can be shared across different modules.
  • Main Module: Contains feature-specific implementations and functionalities.

Code Quality and Continuous Integration

  • Code Style: The code in this repository adheres to the ktlint code style.
  • Code Scanning: The project includes code scanning with ktlint & Android Code Inspector to ensure consistent code formatting and style.
  • Continuous Integration: The project is integrated with CircleCI for automated build, testing, and code quality checks.

Features

  • Dynamic Dark Mode UI: The project supports dynamic dark mode UI for mobile and tablet devices. It adjusts the app's theme based on the system's dark mode setting, providing a consistent user experience across different lighting conditions.

  • Responsive Design: The UI is optimized for different device orientations, including vertical and horizontal layouts. It ensures a seamless user interface regardless of the device's orientation.


Android Libraries

This repository contains an Android project that demonstrates the usage of various libraries in Android app development. The project is written in Kotlin and showcases different functionalities and integrations using these libraries.

Libraries Used

The project utilizes the following libraries:

  • Core Libraries

  • Jetpack Compose

  • Dependency Injection

    • Dagger Hilt: A compile-time dependency injection framework for Android.
  • Networking

  • JSON Deserialization

    • Moshi: A modern JSON library for Kotlin and Java.
  • Image Loading

    • Coil: An image loading library for Android apps.
  • Navigation

  • Memory Leak Detection

    • LeakCanary: A memory leak detection library for Android.
  • Splash Screen

  • Coroutines

  • Paging

  • Testing

    • MockK: A mocking library for Kotlin.
    • AndroidX Test: Provides testing support for Android apps.
    • JUnit Jupiter: A programming model and testing framework for Java applications.
    • Arch Core Testing: Provides testing utilities for Android Architecture Components.
  • Room

    • AndroidX Room: Provides an abstraction layer over SQLite for database operations.

Screenshots

Mobile Tablet

Getting Started

To get started with the project, follow these steps:

  1. Clone the repository to your local machine.
  2. Open the project in Android Studio.
  3. Build and run the project on your Android device or emulator.

Download APK directly from Here

Download Zip directly from Here


Project Roadmap

Trello Board


Code Coverage UI + Unit Tests

Unit Tests

UI Tests


License

The project is licensed under the MIT License.