This Android application is a showcase of modern Android development practices and the Jetpack Compose framework. It provides a delightful experience for exploring Pokemon details and information.
- Kotlin Version: 1.9.0
- Compose Version: 1.5.4
- Architecture: Clean Architecture with MVVM
- Async Programming: Coroutines and Flow
- Dependency Injection: Dagger Hilt
- Network Calls: Retrofit
- Unit Testing: JUnit and Mock
- Image Loading: Coil
- Color Extraction: Palette
- Splash Screen: Google Splash Screen API
- Ui Compose State Management: Effectively manages UI state using Jetpack Compose.
- Responsive Design: Ensures an optimal viewing experience across various screen sizes.
- Paging: Implements paging for efficient loading and displaying of Pokemon entries.
- Clean Code: Follows clean coding practices for maintainability and readability.
- Unit Tests: Includes unit tests covering up to 80% of the codebase.
- Secure Base URL: Ensures the security of the base URL.
- Logger Mechanism: Utilizes a network response adapter for efficient error tracking.
- Dark and Light Mode: Supports both dark and light themes for user preference.
- Animated Splash Screen: Welcomes users with an engaging animated splash screen.
- Animated Bar States: Implements animated bar states for a dynamic user interface.
- Enable Obfuscation: Enhance code security through obfuscation techniques.
- UI Tests: Develop UI tests for comprehensive coverage and robustness.
- Cache Encrypt Store Mechanism: Implement a secure mechanism for caching and encrypting data.
- Logging to File Device or Using Crashlytics: Track errors efficiently by implementing logging to a file on the device or using Crashlytics.
- Implement SearchBar: Added for UI conformity, further enhancements are possible.
- Details Lists States Management: Resolved by using
produceState
to manage states such as success, loading, and failure effectively. - Nested Scrolling Column and LazyVerticalGrid: Resolved by adjusting the screen height to the
LazyVerticalGrid
to prevent infinite height problems.
Demo.1.mp4
Design influenced by:
- https://dribbble.com/shots/20557553-Pokedex-Pokemon-App-v2/attachments/15589797?mode=media
- https://dribbble.com/shots/14500564-Pokedex
- https://dribbble.com/shots/22315114-Pok-dex-App-Concept-Free-Figma-File
- https://dribbble.com/shots/6540871-Pokedex-App
Note: All commits in this repository are made using the company account "abdelilah.ngadi@idemia.com."
Thank You. To Success!