Skip to content

opimand/payiotest

Repository files navigation

payiotest

Test task for Payio

Update:

Added CI CD and Email notifications with new build APK

Features

  • Refactor the application to the best understanding of the design pattern.

All layers of Clean Architecture have been implemented.

  • Fix the loading state and fetching data feature.

Implemented all loading states.

  • Find and fix all other bugs and issues.

The application works well*.

  • Add more information about characters.

Added a few more fields (image, gender).

  • Optimize scrolling performance.

Scrolling works well now, with transition state delay to prevent server spam.

  • Implement pagination.

Done.

Optional Features:

  • Add infinite scrolling pagination.

Done.

  • Implement recovering from an Error state after the last request failed in the paginated view.

Done.

  • Account for all possible states and edge cases.

Done.

Important

One problem is that I can't manage. I don't have a physical device for testing iPhone behavior. In the simulator, I always got a network error. That's because I used a plugin for checking internet activity. The plugin always returns false for the isConnected function on iOS.

I tried to change two plugins, and I encountered the same error. Also, I suspect it might be a trap set by the task creator, similar to what happened with the Android Manifest. However, I also attempted to create a project from scratch, but the result remained the same. I'm quite sure that if you test it on a real device, you won't be able to reproduce that bug. Nevertheless, I decided to let you know.

iOS

Screenshot 2023-08-31 at 18 34 32

Android

Screenshot 2023-08-31 at 18 38 54