Site icon Android Tutorial Online

An android app built using Kotlin that consumes NASA’s API to Mars photos captured by Curiosity

An android app built using Kotlin that consumes NASA's API to Mars photos captured by Curiosity

MARS ROVER PHOTOS

An android app built using Kotlin that consumes NASA’s API to Mars photos captured by Curiosity, Spirit and Opportunity rovers. It has been built following Clean Architecture Principle, Repository Pattern, MVVM Architecture in the presentation layer as well as Jetpack components.

Prerequisite

To run the app from Android Studio on your local machine you’ll need to add api_key value in your local.properties file

The API key can be generated from this link.

Architecture

The app is split into 3 layer:

1. Domain

This is the core layer of the application. The domain layer is independent of any other layers thus domain models and business logic can be independent from other layers.This means that changes in other layers will have no effect on domain layer eg. screen UI (presentation layer) or changing database (data layer) will not result in any code change in domain layer.

Components of domain layer include:

2. Data

The data layer is responsibile for selecting the proper data source for the domain layer. It contains the implementations of the repositories declared in the domain layer.

Components of data layer include:

3. Presentation

The presentation layer contains components involved in displaying information to the user. The main part of this layer are the composables(activity and screens) and viewmodels.

Tech Stack

Libraries

UI

Data

Testing

Plugins

Extras

This projects uses GitHub actions to run a build and execute all tests when creating a new PR.

Screenshots

GitHub

View Github

Exit mobile version