https://github.com/farbod-s/snapp-android-interview
Snapp Company Android Assignment: Showing Vehicles in a Map
https://github.com/farbod-s/snapp-android-interview
android android-application architecture-components clean-architecture dagger2 google-maps-api instrumentation-tests interview junit4 kotlin mockito mvvm retrofit2 robolectric room rxandroid rxkotlin test-driven-development unit-test
Last synced: about 1 month ago
JSON representation
Snapp Company Android Assignment: Showing Vehicles in a Map
- Host: GitHub
- URL: https://github.com/farbod-s/snapp-android-interview
- Owner: farbod-s
- Created: 2020-06-18T09:28:12.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-06-30T10:42:44.000Z (almost 6 years ago)
- Last Synced: 2025-03-16T03:31:38.696Z (over 1 year ago)
- Topics: android, android-application, architecture-components, clean-architecture, dagger2, google-maps-api, instrumentation-tests, interview, junit4, kotlin, mockito, mvvm, retrofit2, robolectric, room, rxandroid, rxkotlin, test-driven-development, unit-test
- Language: Kotlin
- Homepage:
- Size: 295 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Android Take-Home Assignment
## Showing Vehicles in a Map
Hello Developer! As you probably know, we want to evaluate your skills in developing an Android application; So here is the assignment. We want an android application (with a **simple design**) that has a **single activity** loads a list of vehicles containing type, vehicle icon, and coordinates **from the server** and shows them on a map. Well, fetching the list and loading a map needs Internet access but users may want to see the result next time in **offline** mode too. In offline mode, you should show a modal that is showing a list of vehicle details. That’s all we want.
Your API is: **https://snapp.ir/assets/test/document.json**
Here is also an *optional* list of tools and libraries which we suggest to have a quick development. You can consider any of them in your project and if you prefer any other alternative or ignore any of them, you can implement them in your own way.
- **Kotlin** or **Java** language for developing
- **MVVM** or **MVP** for architecture
- **Retrofit**
- **Android Navigation**
- **Google Map** or **MapBox**
- **Room** or other ORMs for persisting data
- **RxJava/Kotlin** or **LiveData**
- **Kotlin Coroutines**
- **Dagger**
Create a **Github/Gitlab** repository for your codes with three branches called `vehicles-list`, `map`, and `master`. Then commit/push your codes there, then merge it into your master branch. Send us the GitHub URL and we will get in touch with you shortly.
Best regards from Snapp Team