New to Flamelink but already have an existing Firestore project? Learn More about Flamelink’s Extended Data Manager (EDM)

Flamelink Logo

Sunrise

A Digital Multi-Channel, Retail Experience built on Flamelink, Firebase & React

Sunrise wanted to build a web application to drive sales and cement their position as one of the leaders in the Swiss telecommunications industry. The application is served up in three primary digital touchpoints, each with its own bespoke content displays.

  1. Used by their in-store sales agents to assist them in making sales
  2. In-store self-service stations for use by their customers
  3. Over time rolled out as their primary e-commerce solution

THE CHALLENGE:

For a new project, the Sunrise team needed a tool to handle the following operations:

  • Frontend Configuration
  • Server Configuration
  • Translations

For Frontend Configuration, Sunrise wanted to give the business’ content editors the ability to change the look and behavior of the application at runtime. For example, they could create ‘Top Deals’ to highlight special offers and promos on the fly. They also needed the freedom and flexibility to configure the sales pages as required, to promote specific products based on business objectives.

The main challenge was that these products and promotions are defined in the company’s product catalogue. So not only did Sunrise require a flexible content system, but they also needed to retrieve content from other systems.

A key requirement was that this process had to be:

  • easy to develop,
  • allow fast iterations,
  • most importantly allow easy, fast deployments that don't require redeployments of microservices or frontends.

For Server Configuration, Sunrise needed to drive some technical parameters of their microservices in such a way that the changing of some settings would not require a redeploy of the application.

For Translations, Sunrise had to provide the app in several languages and they wanted to ensure that these translations were reflected instantaneously on the app’s front end.

THE SOLUTION:

After evaluating Flamelink, Sunrise found that it would fulfill most of its needs: it allows users to create roles with restricted permissions, which is an essential requirement. It encourages rapid iterations and plays well with an Agile mindset, where changes to the data structures are frequent as the sprints introduce more and more functionalities. It is simple to use, which is necessary to reduce the time spent to bring non-technical users up to speed. It integrates with Sunrise’s systems: webhooks can be used to notify when there are data changes, and data can be inserted automatically with the SDK. So Sunrise adopted the solution for the new project, finding that all 3 requirements (frontend configuration, server configuration and translations) could be fulfilled.

For Frontend Configuration: Sunrise created schemas manually in Flamelink, ensuring they had Multiple Environments for development, testing and production set up. The very fine-grained permission scheme of Flamelink allowed them to give the correct rights to developers, testers, content authors and admins.

By putting Webhooks in place, Sunrise was able to trigger jobs on their Internal infrastructure to import a product’s related content from the company product catalog, into Flamelink.

Flamelink lets content editors create content, like “Top Deals”, product pages configuration and more on the fly and with a few clicks, while the front-end application fetches this content and renders the page with the correct products and visuals in real time.

For Server Configuration: The details about the allowed self-service stations are stored in Flamelink. A microservice is in charge to retrieve them and authorize the self-service stations. In this way, onboarding a new station, decommissioning an old one or simply assigning a station to another store is achieved in a matter of seconds.

For Translations: By creating a schema in Flamelink specifically for translations and integrating it with the react-i18next plugin of React, these translations can be changed in real time.

THE RESULT:

Before adopting Flamelink, Sunrise experienced some issues in exposing content and configurations for its customer-facing web applications.

This operation would very often require one or more Java developers to create custom code. They would then have to compile and deploy the code and package the content. All in all, a simple feature like exposing an array of values would take hours to be rolled out to test. This would then have to be migrated to their production system, and given how complicated the process was, it created issues and general unavailability more than once. The number of environments was also limited to the number of instances running this custom solution.

With a custom solution, the task of creating a complicated schema took a skilled Java developer 1 week to complete, but with Flamelink, the same task can be achieved by a non-technical resource in 1 minute. The deployment of any changes on the previous solution would require an actual code rollout plus content migration involving pipelines, artifacts and the Operations team, adding sometimes days of delay, but with Flamelink it can all be achieved by the project owner in 1 click.

In one of their previous projects which was using the old custom solution, Sunrise estimates that the effort for content and configuration was roughly the same as the effort for development and deployment.

With Flamelink however, the effort for content and configuration for this new project is <1% of the total project effort required.

THE STACK:

  • Flamelink: The Firebase CMS
  • Firebase: Firebase is Google's mobile platform that helps you quickly develop high-quality apps and grow your business.
  • Cloud Firestore: a cloud-hosted, NoSQL database that your iOS, Android, and web apps can access directly via native SDKs.
  • a Rest interface: self-built for Flamelink’s data using the Flamelink SDK.
  • React: Single Page Application for frontend
  • Microservices in Golang, TypeScript / Node.js and Java / Spring Boot.
  • Openshift: an open source container application platform based on Kubernetes.

FLAMELINK FEATURES:

  • Multiple Environments
  • Workflows
  • Webhooks
  • Schemas using relational fields that get populated automatically
  • Schema validation rules
  • Schema conditional fields
  • User Groups with fine grained permissions
  • Media files

TESTIMONIAL:

“Flamelink massively reduced the effort for Content Management in our e-commerce web application. Our developers can now focus on enabling a strong customer digital experience, and our content authors can have their changes reflected in real time. With faster content and configuration changes, we can now build more functionalities and capabilities for our Sunrise customers. With Flamelink, creating environments, migrating content and creating data structures are operations that can be completed in a few clicks.”

Alfredo Scaccialepre - Senior Tech Lead at Sunrise UPC