Image by Andrew Martin

Microservices is a another paradigm of developing software applications, in which the architecture is structured into small independent small blocks, each with its own responsibility and persistent data, which is loosely coupled to other services [2]. Microservices introduces, scalability, easy and low risk change management, and automation of deployment.

This post will be discussing migration of a monolithic banking system to an MSA. Different approaches will be discussed and principles of an MSA will be shown also. After that, an example approach will be followed to show what are the steps that can be done to finish the migration successfully…

Lately, I was developing a “price calculator” component that uses “Google Matrix Api” to retrieve the different distances between a user’s location “A” and closest location “B” between different different constant locations “[C]”.

The problem I faced was that, in order to be able to decide what’s the location “B”, I had to check all the Distances “A” <=> “C”, and choose the minimum one, Which brings us to the topic of this article, “Multiple Async Requests”.

I faced this scenario so many times before, that’s why I decided to share this post about how I’m solving it, maybe it…

Last days I was working on a project using Flask Framework, and at the end of the project I needed to serve the application on an Nginx server. I will not talk about wether it’s a good or bad idea to use uWSGI or no. If you want to serve your Flask app with Nginx and you don’t want to do it the uWSGI way, this small tutorial is for you.

How is it going to work ?

First let’s start by talking about the python webserver we’re using “Flask”. I will not talk about the details why I chose here (maybe in another blog). So Flask is a‘ microframework for Python based on Werkzeug, Jinja 2 and good intentions.’ . Its use and implementation is supper easy, as shown in the following example.

Lately, I was using it as a webserver, for receiving requests and processing some data into/from database. Everything was working perfectly, ‘till I had to add a Websocket client, that’s connecting to a Java websocket server.

To connect to any websocket server, python provides…

This post is more a question then an answer.

I started recently working on a Python project, I loved the language. But as a person coming from Java World, the uncertainty (I call it like this) in the use of variables and sometimes the ambiguity in its errors is killing me. Of course probably this is happening ‘cuz I’m still a newbie in this beautiful world.

Now to go to our point. I needed to open a file that contains a JSON List , and append a JSON object to it. …

Last week, I had a client who uses Firebase as a backend service. One of the clear issues he found himself in, is that he didn’t well design his database when he created his app the first time, which when the app grew up so fast led to a big amount of mixed data, neither he could well analyze it nor the user was able to have a good UX (‘cuz of the big amount of unnecessary data he has to download despite the fact he needs it or no ).

The Issue

Let’s say we had a Node A, every action…

Behavioral Economics. -From a non-Econ perspective-

I started studying on my free time about “Behavioral Economics” using The book written by Richard H. Thaler and entitled “MisBehaving : The Making Of Behavioral Economics” . The book is a masterpiece that I recommend to everyone who might be interested in understanding the human behaviors, and of course for those who are interested in Economics also.

While reading this book, and quoting other articles from here and there, I was taking notes of ideas I found interesting and tried to develop on them. And I would like to mention also that all my knowledge about Economics and Psychology…

While building my app ( Revivan -A Travel Machine via Quotes ), I needed to query random nodes from the Firebase Database whenever the user refresh the layout, but Firebase doesn’t provide such a function for queries yet .

In order to achieve that, I had first to edit my Database nodes by adding a random index to each item.

FirebaseDatabase.getInstance().getReference().child("#your_node_path").runTransaction(new Transaction.Handler() {
public Transaction.Result doTransaction(MutableData mutableData) {
long max = mutableData.getChildrenCount();
for (MutableData data : mutableData.getChildren()) {
Node node = data.getValue(Node.class);
if (node!= null ) {
node.index = (int)(Math.random() * max +1);
return Transaction.success(mutableData); …

Weekend 1 (An Android app )

Hello guys, I know it has being a long time since i wrote a blogpost or a story (more than 3 years). But i am trying to start writing about the stuff i am doing these days.

Today’s story is about a small app i made last weekend.

First of all, every app has a “why”. And for this case it’s that in order to receive the announcements from the Computer Department at Ege University you always have to check the website ( ) and see if there is anything new there. Which…

Dhia Kennouche

Full Stack Developer| Loading…

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