Sign in

Software Engineer | Tech Enthusiast | Co-Founder — 22UponTwo

Get to know the benefits of using the BFF pattern in practice

Imagine a scenario where you need to build an e-Commerce application using microservices. You may have microservices for Customers, Orders, Products, Shopping carts, etc. The microservices expose APIs to be used by the frontend.

However, the data returned to the frontend by the Microservices may not be formatted or filtered…


Selecting the right bundler for your frontend

If you are a frontend developer, you may be familiar with WebPack as a bundler for your project. Most developers and teams use WebPack as their primary JavaScript bundler. I used WebPack in most of my projects too. …


Easily manage your Monorepo with these tools

A Monorepo is a single repository where you store all the code that belongs to a project. For example, a Monorepo will include the website code and mobile app code in one place. …


Different patterns for implementing Web Sockets

WebSockets are used for real-time communication between the browser and a server. These communications are bi-directional. Therefore it fits low latency applications such as chat, real-time multiplayer gaming, in-app notifications.

If you are new to WebSockets, I suggest you look at the below article I’ve written to understand better how…


Test whether any characteristics of your application have changed.

There are many types of software testing. Among these, one of the unique types of testing methods is Snapshot testing.

Snapshot tests assert that the current output is same as the output before.

The main difference between snapshot testing and functional/unit tests is, snapshot tests never assert the correct behavior…


How to Style Your React Native Application with Tailwind CSS

Tailwind CSS is an open-source utility-first CSS framework. It redefines the way you style applications by providing a variety of CSS classes.

Using Tailwind CSS, you can style your applications without a single custom class name or a stylesheet.

Furthermore, I found that it works exceptionally well with mobile applications…


Should we use Thunk, Promises, or Sagas?

Proper state management is vital for any React application. And still, Redux is dominating this space.

However, if you use Redux alone, you will feel a gap when using it for asynchronous operations.

And that’s where the Redux middleware comes into play. In this article, I will explore these middleware…


How to Secure Your Web Applications Using Sub Resource Integrity (SRI)

Using <script> tags to load JavaScript files is pretty straightforward for any developer. But have you ever wondered what happens if any of these scripts are tempered before loading into the browser?

The answer is obvious. It could lead to a severe security breach exposing sensitive data.

Therefore, we need…


A guide to writing clean and readable React components

React has re-defined the way we build user interfaces. Since its first release in 2013 by Facebook, it has grown rapidly over the past 7 years. According to NPM trends, out of the topmost JavaScript front-end libraries and frameworks, React has managed to secure first place for many many years.


The correct way of utilizing a backend-for-frontend

With microservices, a backend-for-frontend (aka BFF) is used as an interface for request handling, data manipulation, and formatting, etc. Having a BFF gives many advantages and a few disadvantages as well.

However, in order to achieve the highest potential of this pattern, you should know how to use this pattern…

Viduni Wickramarachchi

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store