CopeCart – apps for monitoring e-distribution sales
Designing CopeCart client apps to act as a utility to monitor e-sales performance, allow account holders to set goals, and receive notifications. The main non-functional requirement was the smooth operation of the app. "The interface should be smooth", said the customer.
Developing native applications for existing businesses has many benefits. First, it is the ability to scale the product, and secondly - its stability and efficiency, provided the use of best practices in app development. Third, finding a specialist to support and develop the product in the future will not be a significant problem. That's why we chose to develop native applications for CopeCart.
The technology selected, and API was already written by the team that developed the service. The utility application consisted of authorization, user profile, settings, and the bulk of the graphics tabs. Therefore, the following libraries were selected for the construction and customization of graphics:
This is a very powerful tool in the arsenal of app developers. If you have enough experience, you can implement animated graphing of different types, with excellent optimization, which affects the result during rendering on the screen.
We have implemented our proven architectural approach, Clean Architecture with MVVM. Rx has provided the ability to combine the results of asynchronous queries in some cases before they end up in the ViewModel. This allowed us to build graphs on aggregate information from multiple sources and not change the API method interface. This was very useful because the web client also used this API, although there was some other functionality.
We've put Firebase Performance Monitoring together to keep track of when users are affected by the quality of their network connection. This allowed us to monitor query speeds, optimize server performance, or make changes to reduce traffic, which will speed up download speeds in poor Internet connections.
The team fully met the client's need for an app that demonstrates a "smooth interface", regardless of the number of graphics tabs he activated in the settings. All pages are loaded asynchronously, the data is rendered animated.