ferecgithub / BgnMobi-Pokemon-Assignment

A technical challenge that requires using the modern Android development tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.)

About

A technical challenge that requires using the modern Android development tools

License:Apache License 2.0


Languages

Language:Kotlin 100.0%