Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sarunw/android-developer-interview-test
This project that is created as a guidance for the lastest Oozou Android team's Design pattern and Architecture.
https://github.com/sarunw/android-developer-interview-test
Last synced: 6 days ago
JSON representation
This project that is created as a guidance for the lastest Oozou Android team's Design pattern and Architecture.
- Host: GitHub
- URL: https://github.com/sarunw/android-developer-interview-test
- Owner: sarunw
- Created: 2019-10-01T04:11:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-08-06T06:51:18.000Z (over 5 years ago)
- Last Synced: 2024-12-24T08:24:20.053Z (about 2 months ago)
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Oozou Android Developer Test
Hi there! This is the interview test instruction for Android Developer position at Oozou. Please read the guidance carefully. Best of luck!## What you will have to do.
- Use Android studio to build the Android application according to the detail described in the [application description section](https://github.com/oozou/android-developer-interview-test/blob/instruction-revised/README.md#application-desciption-pokemon-info).
- Use `git` to track your work history.
- Write the unit tests and UI tests where you think it is necessary.**Note**
- Please write the code in a way that demonstrates your current set of skills.
- Please use design pattern and libraries that you think are the best.
- You are free to do anything to the project to achieve the application described in the [application description section](https://github.com/oozou/android-developer-interview-test/blob/instruction-revised/README.md#application-desciption-pokemon-info).## Application Desciption: Pokemon Info
This section describes the detail of the application that you will have to build.
### Objective
This application displays the list of Pokemons. The user can click on each item of the list to see the detail of each pokemon.
### Overview

### Screens
This section describes the behavior and detail of each screen. We will discuss about data and api in detail in the next section.#### 1. Pokemon List Screen ####
Display paginated list from Pokemon List API(https://pokeapi.co/api/v2/pokemon). When clicking on each item in the list, the Pokemon detail dialog will be shown. Please noted that the URL for fetching pokemon detail will be passed to Pokemon detail dialog from Pokemon List Screen.
#### 2. Pokemon Detail Dialog ####
This is a dialog for displaying pokemon detail. This dailog show when the item in Pokemon List screen is clicked. There are only 4 field display in this page `base_experience`, `height`, `name`, `weight`.
### Data
The data in this application is fetch from PokéAPI(https://pokeapi.co)
There are only two endpoints called in this application.#### 1. Pokemon List API ####
https://pokeapi.co/api/v2/pokemonPaginated list of Pokemon
Sample response
``` {
"count":964,
"next":"https://pokeapi.co/api/v2/pokemon?offset=20&limit=20",
"previous":null,
"results":[
{
"name":"bulbasaur",
"url":"https://pokeapi.co/api/v2/pokemon/1/"
},
{
"name":"ivysaur",
"url":"https://pokeapi.co/api/v2/pokemon/2/"
},
{
"name":"venusaur",
"url":"https://pokeapi.co/api/v2/pokemon/3/"
},
{
"name":"charmander",
"url":"https://pokeapi.co/api/v2/pokemon/4/"
},
{
"name":"charmeleon",
"url":"https://pokeapi.co/api/v2/pokemon/5/"
}
]
}
```#### 2. Pokemon Detail ####
Use `url` field from item in `results` to get pokemon detail api url.Please refer to one of the item in `results` of response from the pokemon list endpoint.
```
{
"name":"bulbasaur",
"url":"https://pokeapi.co/api/v2/pokemon/1/"
}
```
Call https://pokeapi.co/api/v2/pokemon/1/ to get pokemon detail**Sample response**: You only need to map these 4 fields to the model: `base_experience`, `height`, `name`, `weight`
```
{
"abilities":[...],
"base_experience":64,
"forms":[...],
"game_indices":[...],
"height":7,
"held_items":[...],
"id":1,
"is_default":true,
"location_area_encounters":"https://pokeapi.co/api/v2/pokemon/1/encounters",
"moves":[...],
"name":"bulbasaur",
"order":1,
"species":{...},
"sprites":{...},
"stats":[...],
"types":[...],
"weight":69
}
```## Implementation Guide
- The following are the color code using in the project.
- `#F4B400`
- `#E19720`
- `#F62D14`
- The layout doesn't have to be the same as the screenshots. You can decide the dimension of the layouts based on your judgment.## Submission
Please zip the project and send it to this email [email protected]
**Do not** upload this project to the version control system such as GitHub, GitLab, or others.