PokeData is a modern Android application built with Jetpack Compose that allows users to discover and explore detailed information about Pokémon. It emphasizes clean architecture, reactive state management, and seamless user experience.
PokeData is designed with a strong focus on modern Android development practices. It showcases the use of reactive UI with Jetpack Compose, MVI architecture, and Redux-like state management. The app also supports dynamic theming and localization, making it accessible and customizable for all users. Download APK
- 🔎 Search Pokémon by name
- 📄 View detailed Pokémon info (abilities, description)
- 🌐 Real-time data from PokeAPI
- 🌓 Switch between Light, Dark, and System themes
- 🌍 Multilingual support (English, Indonesian)
- ✨ Smooth animations using Lottie
| Category | Technology |
|---|---|
| UI | Jetpack Compose, Material 3 |
| Navigation | Voyager |
| Architecture | MVI + Redux-style state management |
| Networking | Retrofit |
| Data Storage | Room, DataStore |
| Pagination | Paging3 |
| Dependency Injection | Koin |
| Animations | Lottie |
To get started:
- Clone the repository:
git clone https://github.com/tiofani03/pokedata.git
- Open in Android Studio
- Run the app on a device/emulator
The app uses a JSON-based localization system.
Supported languages:
- English (
strings_en.json) - Bahasa Indonesia (
strings_id.json)
To add new languages:
- Create
strings_xx.jsoninassets/folder - Add key-value pairs:
{ "home": "Beranda", "search": "Cari" }
Users can choose:
- ☀️ Light Mode
- 🌙 Dark Mode
- ⚙️ Follow System
Preferences are stored with DataStore and applied app-wide.
| Splash | Login | Register |
|---|---|---|
![]() |
![]() |
![]() |
| Home | Detail | Settings |
|---|---|---|
![]() |
![]() |
![]() |
The UI design of PokeData is inspired by:
- Pokémon brand colors and minimal UI
- Pokémon App Design Dribble
- Material You + Jetpack Compose guidelines from material.io
- Edge-to-edge and dark/light theme transitions based on Google Design
- All icons and illustrations follow proper licensing and attribution.
Contributions are welcome!
- Fork the repo
- Create a branch:
git checkout -b feature/your-feature
- Commit and push your changes
- Open a Pull Request ✨
Enjoy building and exploring the world of Pokémon with PokeData!
If you have questions or suggestions, feel free to open an issue.






