Skip to content

A technical challenge that requires using the modern Android development tools

Notifications You must be signed in to change notification settings

ferecgithub/BgnMobi-Pokemon-Assignment

Repository files navigation

BgnMobi-Pokemon-Assignment

A technical challenge that requires using the modern Android development tools

Used Technologies and Libraries

  • Clean Architecture & MVVM
  • Kotlin
  • Jetpack Components ( Navigation, Paging3, Lifecycle, ViewModel )
  • Retrofit, OkHttp
  • Kotlin Coroutines
  • Coil
  • Dagger Hilt
  • Firebase services (Crashlytics & Cloud Messaging)

The Requirements Checklist

  1. Project running properly between Android 5.0 (API 21) and Android 12.0 (API 31) 🗸
  2. Error handling and displaying a proper message when internet connection is slow or not available 🗸
  3. Adding localization for both Turkish and English languages 🗸
  4. Adhering to SOLID principles 🗸
  5. Publishing the project on a public repository (GitHub, Bitbucket etc.) 🗸
  6. Java or Kotlin can be used as programming language. Using Kotlin is a plus. 🗸
  7. Navigation component / navigation graph should be used for screen transitions. 🗸
  8. MVVM (Model-View-ViewModel) structure should be used. 🗸
  9. Dependency injection (dagger-hilt) should be used. 🗸
  10. View binding should be used. 🗸
  11. Use and integration of Firebase libraries is required (crashlytics, push notification). 🗸
  12. Where necessary (if the application language is Kotlin), it is a plus to use Coroutines. 🗸
  13. Writing a unit test will be considered a big plus. 🗸
  14. App modularization would be considered a big plus. (The package structure is prepared having modularization in mind. I didn't modularize to finish the assignment ASAP.)