Skip to content

This app showcases modern Android development approaches: Dependency Injection (DI): Easy object management and cleaner code with Hilt. Kotlin Coroutines with Flow , MVVM Architecture: Organized code with clear separation of concerns.

Notifications You must be signed in to change notification settings

MaheshKShetty/NasaCraft-Modern-Android-development

Repository files navigation

NasaCraft: Modern Android Development Explore Space with MVVM, Coroutines, and Hilt This Android application demonstrates dependency injection with Hilt, asynchronous programming with Kotlin Coroutines, and the MVVM architecture to fetch and display stunning NASA images.

Features:

Fetch images from the NASA API (requires API key from https://api.nasa.gov/) Persist images locally using Room database for offline access Leverage Flow API for seamless data updates in the UI Technologies:

Kotlin: Modern, concise, and type-safe language for Android development Room: Local database for offline data persistence Hilt: Dependency injection framework for simplified code management MVVM: Architectural pattern separating concerns for cleaner code WorkManager (optional): Asynchronous task scheduling library Coroutines: Structured concurrency for asynchronous operations Flow API: Reactive data streams for managing UI updates Getting Started

Clone the repository:

Bash git clone https://github.com/MaheshKShetty/nasa-image-app.git Use code with caution. content_copy Set up your environment:

Install Android Studio or your preferred IDE. Ensure you have the latest Android SDK tools installed. Obtain NASA API Key:

Create an account at https://api.nasa.gov/. Generate an API key for the relevant service (e.g., "APOD"). Place the API key in a secure location (e.g., secrets.xml) following best practices. Configure project:

Open the project in Android Studio. Update applicationId in your build.gradle file to your desired package name. (Optional) Configure NetworkService implementation if using Retrofit for API calls. Build and run:

Run the app on your Android device or emulator. Contributing

We welcome contributions! Feel free to fork the repository, make changes, and submit pull requests. Please adhere to the following guidelines:

Write clear and concise commit messages. Adhere to code style conventions. Add unit tests for your changes. Open an issue to discuss significant changes before implementation. License

This project is licensed under the Apache License 2.0 (see LICENSE file for details).

Credits

This project is inspired by various open-source libraries and resources. We are grateful to the communities that maintain them.

About

This app showcases modern Android development approaches: Dependency Injection (DI): Easy object management and cleaner code with Hilt. Kotlin Coroutines with Flow , MVVM Architecture: Organized code with clear separation of concerns.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages