Tech Features - Fabryo/PokeManiac GitHub Wiki

Implemented Tech Features :

  • i18n (Internationalization): To reach an international audience, the app has been internationalized, with support for two languages so far: French and English. More and more languages should be added in order to reach the whole planet !
  • Tracking: A tracking module has been added to test implemented features and enable A/B testing. It could be connected to tools such as Firebase, Segment, or others. Currently mocked with a local database repository. It is just used in the SearchFriendViewModel for now.
  • Dark Mode: To attract users with a modern design, Dark Mode is enabled. The app automatically adapts to light or dark themes based on the user’s system preference.
  • Small devices: The application is also compatible with small devices, as numerous people don't have a big screen
  • Unit Tests: To ensure maintainability, stability, and scalability of each technical layer and feature, unit tests should be written across all layers. For now, tests have been added to one file per layer as examples:
    • Repository: UserRepositoryTest
    • ViewModel: SearchFriendViewModelTest
    • Compose views are also implemented with Previews: MyFriendListView
    • Note : if implemented, the UseCase would also be tested.

Technical Features to Add:

  • Crashlytics, Sonar, Lint, etc.: To monitor performance, prevent crashes, and detect code vulnerabilities.
  • Accessibility: To allow users with visual impairments or other disabilities to use the application.
  • ProGuard / R8 Obfuscation: To secure the app code and prevent reverse engineering.