Developing Backend For Front End (BFF) — checklist/best practices

BFF sample architecture wrt Open APIs or traditional MVC apps

So you are making a front end using channels like mobile native app or hybrid app or a web app to let user consume and use data provided by APIs.

You don’t want to break trust of API provider or the user and also don’t want the competitors or third parties to leverage the trust established on you.

In that case, you will be required to safeguard the secrets and data which are shared by API and end user.

The suggested architecture may look like the pic above.

Here are some best practices you should follow while building as per…


Taming the UX monster with SVG: my first encounter with custom SVG connectors and how you can excel it at too!

The Monster

  • I needed to make an interaction like above where user can select a node on LHS and connect with nodes on RHS.
  • There can be many-to-many relationship between these nodes.
  • User can chose to remove an existing connection.
  • All existing connections have to be plotted when page loads and auto-saved whenever user adds/remove a connection
  • The cherry on top was - filter! User can filter the nodes on LHS or RHS at anytime and the Connections have to show according to currently visible nodes
  • After sweating my fingers for few days and losing some hairs, the final outcome…

Application Insights using Azure and VueJs — Error handling and Event Logging in Front End to avoid Console.log in Production

In case you are logging FE Errors using Console.logs, and want to avoid them being seen in Production to end users in their browser console, you would be looking an elegant solution to achieve this.

Here are my findings to do better Error Handling and also log custom Events that are of business/functional importance which will help both Devs and Business to track and improve the app, Proactively.

Requirements:

  • Handle Errors gracefully in Front End and log them into a third party system (and not our own Back End / Database) which is available even when the Back End is…

I firmly believe that we all have unlimited possibilities to learn, grow, create and contribute irrespective of physical, mental or social limitations.

Hence the Unit to measure one's potential should…


Rent something you can’t buy. Experience it before you can’t anymore due to factors like age, lack of purchase power or unfavourable future that nobody can predict ( think pandemic! ).

Nobody owns anything forever anyways.
In my view, life is like a line made of small dots called moments. I would better fill them with experiences and small but meaningful achievements rather than working forever to achieve my dreams and keep on saving money for the day that may never arrive.

This way you can win each day while getting first hand experience of things you dream to own…


me: You have piggy bank?

kid: Yes papa!

me: how would you feel if i steal from it?

kid: very very sad. then i cant buy hoverboard on my birthday


Come to the verge of doing The thing you like the most and just don't do it. This will work as a Reference Point in later life when you are tempted to do something unproductive. If you could give up that, you can easily give up this.

eg. If you like ice cream very much, take it but don't eat it...melt it with your hard stare infact ;)

Next time when you have urge to eat something unhealthy, recall the ice cream reference point which was much higher a challenge and #justdontdoit :)

Over period of time you will build enough reference points to avoid most distractions and temptations and can focus on things that matter most to you


1. Increase Resistance to things you don’t want to do more:
e.g. too much social media, news or videos? install AppDetox or Moment

2. Decrease Resistance to things you want to do more:
e.g. gym is closed or takes more than 5 mins to reach? Setup gym at home - its one time expense. Start small, with Yoga mat and each month get a new tool for different body part. In few months, you will have 24*7 gym at same or lesser cost of annual gym fee.

#productivity #motivation

Ajay

Javascript, Angular, Vue. Web App is all what I Do. And sometimes getting bored, i write articles and poems too!

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