NashTech

Reactive Product Development

Reactive Product Development

Introduction

NashTech started working to build Spok in Knolway (NashTech software development methodology) rhythm. 

About SPOK

Spok is a social content sharing application. A “spok” is content (picture, animated gif, video, sound, URL, raw text, HTML text, poll, riddle, and more to come) that will be published (“spoked”) by a user. Every spoke could thereafter be (or not) re-spoked by other users. Every single user interaction (new spok, re-spok, unspok, comment, etc.) will be stored with detailed space and time information.

When a spok is posted, it becomes an object shared between all the users. The system’s strength is that the spok lives its own life, depending on the other users’ re-spokes. When a spok is deleted (by his creator or by any re-spoker), the spok remains available for all the other spokers. The association between the spok and the spoker is deleted, but the spok continues its life.

The challenge

The application required to store every single user interaction (new spok, re-spok, unspok, comment, …) with detailed space and time information. The purpose was to provide a complete timelined map of these interactions from multiple points of view (for a specific user, for a specific spok, or the overall application).

In Spok app, the architecture is asynchronous, non blocking and highly fault tolerant. Data is sent through web sockets. This is a dual messaging pull and push system that doesn’t require any previous request.

For example, the client UI could be updated without any interaction, from the client to the server, by simply pushing the required data through a specific channel. So Websockets-based pull/push mechanism was heavily utilised to give it the reactive flavor. A major challenge was to design a websocket-based microservice architecture which was done with the help of Akka-HTTP.

On the data model side, there were going to be linkage of every Spoke with Spokers. There are also linkages between Spoker’s following other Spoker’s and doing re-spokes. Another major challenge is to keep performance of every api under 100ms.

The solution

NashTech started working to build Spok in Knolway (NashTech software development methodology) rhythm, which is divided into 4 steps:- Fusion, Architecture Release, Development Release, and Maintain and Enhance. The architecture was based on the Reactive Manifesto and was designed to be asynchronous and non-blocking Api at every level. We used Eventuate to manage event sourcing. We decided to use DSE full stack, so the linkage between data is managed by DSE graph, big data analytics is managed by DSE Analytics, and searching is implemented by DSE Search. The services were distributed as microservices and were made available through REST endpoints. It took around 12 sprints to build this product. Each sprint was followed by a demo and release in the production environment. After building the product, we did the analysis and benchmarking over immense data. Every api is taking under 100ms to respond.

The outcome 

For the product, we used the right technology for the right need. This enabled us to build the platform within the stipulated time and with the right quality. We used the DSE stack, web socket-based microservice architecture, and invested in high-quality coding for which we kept a tab through CodeSquad. In just 6 months, Spok is ready to be launched in the market.

Read more case studies

Modernising legacy systems and driving efficiencies through partnership with RPS Under Dev

Explore how NashTech help RPS modernise legacy systems and drive efficiencies through partnership

Modernising legacy systems and driving efficiencies through partnership with RPS

Explore how NashTech help RPS modernise legacy systems and drive efficiencies through partnership

Supporting digital shelf analytics and unlocking eCommerce growth

Explore how NashTech help the digital shelf analytics and unlock growth with a world leading data insights and eCommerce solutions provider.

Let's talk about your project

Our partnerships

Scroll to Top
PANEL DISCUSSION
Join the conversation and gain invaluable insights!
How Enterprises Can Leverage Cloud for Business Growth?
FREE WHITEPAPER
Unlock the power of knowledge with our new whitepaper
“Elevating User Experience for Product Owners”