Compose project based on Android recommended architecture
| Light Mode | Dark Mode |
|---|---|
![]() |
![]() |
- List of all Pokemon
- View Pokemon attribute details
- All Pokemon Attributes and Related Pokemon
- Theme setting mode
- Recommended App Architecture
- Layered Architecture
- Repository Pattern
- Multi-Module:
root
--- app
--- core
------ data
------ designsystem
------ domain
------ network
...
--- feature
------ main
------ pokemon
------ type
...
- Compose for building user interface and app components
- Kotlin
- Coroutines + Flow for aynsc
- Hilt for dependency injection
- Retrofit2 & OkHttp3 for rest api
- Serialization for parse response
- JetPack
- lifecycle, navigation-compose, paging-compose, datastore, view model
- Landscapist for image loading
- coil, plcaeholder, palette
The API used in this project is PokéAPI and the base url is as follows:
https://pokeapi.co/api/v2
| Method | Endpoint | Usage |
|---|---|---|
| GET | /pokemon?offset={0}&limit={20} |
Get All Pokemon Information Paging |
| GET | /pokemon/{bulbasaur} |
Get Pokemon attribute information |
| GET | /type |
Get All Pokemon attributes |
| GET | /type/{1} |
Get All Pokemon of that attribute |

