API design process:-

  1. Gather, and review the requirement
  2. Identify the resource among them.
  3. Identify the action and use the appropriate verb for that.

Let's discuss them point by point:

Gather, and review the requirement:

You have received a requirement to build a CRM system to manage the customer. The requirement says you have to add the customer, delete them, modify them and get the list of customers based on the email or name.

Identify the resource among them:

To find the resource among all the objects available in our requirement, look for the noun. In our example, it appears that…

Recently I jumped to the python. I was a java developer for more than 8 years. It was a recent incident that made me have python skill mandatory. You must be guessed? No, it's not about data science and machine learning. It's about…

solving coding questions in interviews.

You may be surprised that why I am saying so. Hmm, I was interviewed for Facebook which changed my mind and perception towards the technical interview. I am not going into details about that incident though. I have written another blog post for the same.

In short, for FAANG and other top…


You should have

  1. node and npm installed
  2. MySQL database installed
  3. By default project has configured to use MySQL DB where the database name is dishdb, the user is dishuser and the password is dishpass. You have to keep this thing ready prior to running the project.

Step 1) Clone the git repo from the below link:

git clone git@github.com:rhythm98/Food-Ordering-Application.git

Step 2 ) Build the project

$ cd Food-Ordering-Application/$ npm installadded 270 packages from 255 contributors and audited 271 packages in 26.41s39 packages are looking for fundingrun `npm fund` for detailsfound 0 vulnerabilities

Step 3…

During our development, we spend most of the time in IDE. However, we may encounter a situation where we want to run our spring boot app from outside of the IDE.

How to run from the command line?

Since we are using spring boot, the server is embedded in the JAR file itself. We no need to have any server process running.

Spring boot apps are self-contained. The jar itself will become the process and the server will become a part of it.

We have two way for running the app from the command line:

  1. java -jar app.jar
  2. mvn spring-boot:run

Technical interviews are really hard where many people struggle. It even gets harder for product-based companies. One of the hardest parts of this is how to proceed with the problem thrown in front of you.

What is the reason behind this case? Poor DS-Algo?

No, that is not an exact reason. DS Algo is just another alphabet for the technical interviews. Let's say you have solved 400+ leet code problems and practiced many design-related problems. Still, people see failure. Why?

The real challenge is not to have a planned framework to approach and answer these types of questions. You remember…

Recently I encountered a problem with my mac machine while starting nginx. I have installed nginx via brew command. When I used to start nginx it was giving me the error status.

brew services start nginx

If you have worked on git ever then you must have encountered the way to manage multiple commits. Well, why this is important?

Let’s say you are working on a feature. This feature has many changes and you work and commit the changes to a branch (say feature). After some days you will see there are multiple changes has accumulated in the different commits, isn’t it? and these look weird and not important to keep all these related changes to the feature in several commits instead we can club all these commits together.

How would we tackle this situation?


If you are a software developer, then you must have encountered git rebase or you may have heard this term. Though there is a number of ways/style people use when they work with git, few people use standard/tool to accomplish their task.

git rebase is one of those tasks which can help you to make your life comfortable.

So what is this git rebase, and when you need that. I will explain this through the scenario then it will be crystal clear to you. This is a basic explanation to help you understand the git-rebase.

Note:- If you have any…

Manish Kumar

Principal Software Engineer at Oracle

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