NASA App
An application that presents images and details from NASA’s rover API and allows filtering.
Used Technologies
Android: Clean Architecture, MVVM, Hilt Dagger, Retrofit
Run it
Clone the project
git clone https://github.com/upskubra/NasaApp
Open in Android Studio and run.
Desired features of the project
-
Technologies that we want to be made mandatory in the projects and that we expect you to use:
- API https://api.nasa.gov/index.html#browseAPI Example URL https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=1000&api_key=DEMO_KEY&page=1 If you have a problem with DEMOKEY, you can create your own key by registering from the link. The above api returns images taken by rover vehicles sent by NASA; [✅] You can show the pictures in a CollectionView with pagination thanks to the API. (will be infinite scroll) [✅] There should be 3 tabs in one tabbar. Each Tab also includes Curiosity, Opportunity, Spirit tools. There must be photos of one of them. [✅] Filtering by camera by filtering with the filter button on the top right for each vehicle should be done. [✅] When one of the pictures is touched, a pop-up opens and if the picture is on the top in the pop-up, it is taken. date, vehicle name, from which camera, vehicle mission status, vehicle launch date and landing dateinformation should be included.
-
Plus:
[✅] Following any architectural design is a plus. (mvc, mvp, mvvm, viper, clean arc,...) [✅] It is a plus to use tools such as LiveData/ ViewModel, Flow, RxJava, Coroutines from Arch Components for async operations. [✅] The use of dependency injection will be considered as a plus. [✅] Source code must be deployed to a public repo. (GitHub, bitbucket, ...) [✅] Using up-to-date, preferred and open source libraries is a plus. [❌] Unit test writing will be considered a plus.
Support and Feedback
If you want to give any feedback, please contact me at [email protected] or Twitter.