PokeHub is an Android application designed for Pokémon enthusiasts to explore information about different Pokémon. The app utilizes various technologies and follows modern architecture principles to provide a seamless user experience.
- View a list of Pokémon species with their basic information.
- Search for specific Pokémon by name.
- View detailed information about individual Pokémon.
- Explore images of Pokémon.
- Utilizes Dagger Hilt for dependency injection.
- Uses Coil for efficient image loading.
- Integrates Retrofit for making network requests to the PokeAPI.
- Incorporates Palette for extracting colors from Pokémon images.
- Supports both dark and light themes.
- Dagger Hilt: Dependency injection framework for managing dependencies efficiently.
- Coil: Image loading library for loading Pokémon images seamlessly.
- Retrofit: Type-safe HTTP client for making API requests to the PokeApi.
- Palette: AndroidX library for extracting prominent colors from images, used for UI theming.
The PokeHub app follows the MVVM (Model-View-ViewModel) architecture pattern with a touch of Clean Architecture principles, ensuring separation of concerns and maintainability.
- data: Contains data-related components following Clean Architecture principles:
- model: Data models representing Pokémon attributes.
- remote: Contains the PokeApi interface and network-related classes.
- repository: Repositories responsible for coordinating data retrieval from different sources.
- di: Dependency Injection module using Dagger Hilt for managing dependencies.
- ui: User interface components:
- screens: RecyclerView adapters for displaying Pokémon in a list
- viewmodels: ViewModels for managing UI-related data and business logic.
To build and run the PokeHub app locally, follow these steps:
- Clone the repository:
git clone https://github.com/BotsheloRamela/PokeHub.git
- Open the project in Android Studio.
- Build and run the app on an emulator or physical device.
- PokeApi: The primary data source for Pokémon information.
This project is licensed under the MIT License - see the LICENSE file for details.