1) Freshcode Portal toolkit: reducing development costs
Time is the most valuable resource; most clients want to achieve the quickest results without delays or compromising quality.
SOLUTION: We used Freshcode Portal, our platform designed to streamline software development process and reduce overall costs. It offers the following:
Full automation of key business processes without the need for complex diagrams and enterprise systems
Custom ERP development tailored to each client, delivering operational, managerial, and strategic benefits
Reducing the number of developer hours
We offer clients constrained by tight deadlines the opportunity to benefit from automated software development processes. The Freshcode development team used its ready-made toolkit for this project and achieved the expected successful result.
2) Issues with alert configuration when alerts run over similar datasets
In the alert's search results some events had the same keywords and simultaneously caused multiple alert triggers on the same data.
SOLUTION: We updated the alert configuration to address duplicate/redundant alerts and eliminate unwanted data duplicates when patterns match.
3) Handling notifications on mobile devices depending on their state: Firebase Cloud Messaging issue
While working on the notifications service extension, we faced several issues.
FCM, Data only (silent notification). Initially, we sent silent push notifications via Firebase Cloud Messaging (FCM). Everything seemed fine until we faced app's killed state issue. Depending on the mobile device's state, such notifications are handled differently.
While FCM silent push notifications functioned seamlessly in the Foreground, Background, and Quit modes, this method failed when the application was forcefully closed (killed app). Therefore, setting notifications via the FCM background (silent) was the wrong solution.
FCM, Notification-Only (alert notification). Then, we decided to take a different approach and try FCM Notification-Only. However, after a brief analysis, we found this approach cumbersome, considering the specificity of notifications filter configuration (1 location * 2 languages * 3 notification types).
SOLUTION: Finally, we stopped at the OneSignal push notifications service, primarily because of its Data Tags feature. We needed a solution to address the challenge of filtering and coherently categorizing push messages by Location, Language, and enabling/disabling speсific notifications (instead of generating plenty of topics for each Location). OneSignal filters connected clients before sending notifications, making it a perfect fit for this task.