logo
symfonia case study

CASE STUDY

Symfonia

Business management software for small and medium-sized enterprises

case study

About Symfonia

symfonia

Symfonia offers multi-purpose software to help manage business.

With their solutions, entrepreneurs can automate their finance and accounting, human resources, payroll and HR, traditional and e-commerce channel sales management, warehouse management, production management, electronic document workflow, data analysis, among others.

people

BETTER SOFT SERVICES

Project Goal

The client was in the process of expanding their web-based application and needed support for mobile development. Being a company with a strong foundation in Flutter, we designed and developed a mobile app in accordance with the client's specified requirements. Harnessing our extensive expertise, we not only ensured a seamless development process but also made specific web enhancements to maintain a cohesive user experience across both platforms.


Roles in the project:

BSS:

• Architect- analysis, application architecture, consultation including web and API integration. Part of development and Code Review.

• 2 Flutter Developers - writing clean, maintainable, and scalable code using the Dart programming language, integrating third-party libraries and APIs into the application, debugging and resolving technical issues.

• Project Manager - proposal, scope and schedule consultation, team building, decomposition of work including Acceptance Criteria breakdown, internal Scrum meetings, status and demo meetings with client.

• UX/UI designer - execution on the basis of the client's Brand book of mockups and graphic design in Figma for native application screens. Preparation of app icon and graphical content for Google Play and App Store.

• 2 QA Engineers - (manual tester, one person at a time, while during the project we deployed two people). Testing on multiple mobile devices of the native part of the application with the breakdown of Test Cases. Integration testing of the entire application (including the web part).


Symfonia:

We collaborated closely with API and Web representatives on the client's team, complemented by the guidance of Product Owners overseeing the business aspects of the project.

symfonia

BETTER SOFT SERVICES

General problem

Symfonia had a production-working web application, also adapted to mobile devices (RWD). However, they didn't have a mobile application, so for the users benefit, they turned to us to provide a mobile application that natively implements several important aspects like authorization (including biometrics), push notifications and file uploads.


After a series of meetings and in-depth analysis, we meticulously developed a comprehensive application plan, defining both its functional and technical scope. Through effective communication with our client, we refined our understanding of competency boundaries, functional requirements and established a well-defined schedule.

Solution

Since most of the functionality implemented natively was platform-dependent, we had to carefully choose the plug-ins available for Flutter, as well as perform some of the configuration and implementation in native code. Nevertheless, we still consider Flutter to be the optimal choice.


The most challenging elements of the project and the solutions we deployed:


• integration between the mobile and web application required the implementation of JavaScript scripts by mobile developers

• there were integration obstacles in integrating different authorization methods between web and mobile

• the implementation of Active Directory login required a lot of R&D due to the multitude of standards, configuration methods and available solutions

• login using biometrics has many edge cases to handle

• login using Google account required special review

• due to the use of the client's Google and Apple accounts, technical meetings were needed with the client for proper configuration

• push notifications were difficult to test, and there were bugs on the API side, which we helped track down and consulted on solutions

• exchanging files selected on the device between the mobile app and the web, as well as combining photos into PDF documents was technically challenging - we encountered significant performance barriers of generally available solutions by which, after a large amount of R&D, the final solution was partial custom development, separately for Android and iOS, including a native implementation in Swift

• saving files on the device is highly dependent on the system version, for Android alone we needed 3 different solutions.


The Apple Review excerpt was the main challenge. Firstly, we had to ensure the Cookie banners within the integrated web application were effectively hidden. Secondly, we meticulously prepared special test accounts and provided detailed review instructions. Lastly, we engaged in an ongoing correspondence with Apple for several weeks, advocating for the acceptability of the solutions implemented in the web application, especially about the process of deleting an account, which required contacting support.

symfonia

What was achieved

Despite the relatively small functional scope of the mobile application, the implemented functionalities were technically challenging and required a wide range of competencies (Flutter, native Android+iOS, web JavaScript, DevOps and a number of tools).


As a result of the cooperation, we developed a Flutter app (multiplatform Android+iOS based on one code base).


Natively implemented functionalities:


• authentication: - login+password or with a Google, Apple or SymphonyID account (OAuth 2.0 Microsoft Active Directory)

• login with biometrics (fingerprint or FaceID)

• push notifications, including a web app login function using the mobile app as 2FA (authorization code sent to the app)

• uploading files and photos from the device, including support for the file browser, gallery and camera, and combining multiple photos into an aggregate PDF document

• downloading files and saving to the device

We also used Firebase tools:


• Crashlytics - automatic bug reporting

• Analytics - basic application analytics

• Cloud Messaging - push notifications

• App Distribution - deployment of test / demo / UAT / Release Candidate versions


Google and Apple tools were used for platform authorization options. Additionaly, we developed a Bitrise-based CI/CD for the application.

Client's feedback

The client provided positive feedback, noting in particular attention to our overall involvement in the project, from technical aspects, to management, to solving any problems encountered.

Ready to explore

how can we assist you??

check our work

Case study

DesignMobileIoT

NorthStar Battery ACE® IQ App

ace
DesignMobileFinance

ING Accounting Online App

ing
MobileIoTHealthcare

GRASP

grasp
DesignMobile

KFC Mobile App

kfc
DesignWebFinance

UNOPS

unops
DesignMobileIoT

Schneider

schneider
DesignMobileHealthcare

Mindfit

mindfit
DesignWebMobile

Symfonia

symfonia