Microservices from Scratch (1): Project Overview

Ninh Nguyen
2 min readDec 19, 2021

When I started re-factoring an API server of my side project from monolithic (PHP/Laravel) to micro-services, I couldn’t find a good tutorial that explains step-by-step and use NodeJS (or GoLang). So that, I decided to start a new one.
This tutorial series will not be the same as others. Instead of focusing on writing the code, I want to explain why I decide to code like that, and you can see all code in my GitHub. I hope that it will help you save a lot of time and code lines when to start working with your new micro-services project.

Project Overview

The new project’s name is BeStronger. This application (Web and Mobile) helps people can make a plan and track their daily nutrients and workouts. The old version was published in App Store and the website URL is bestronger.net. In this series, I am going to migrate the API Server to micro-services with NodeJS.

There is the list of services that I will implement in this series:

  • Auth/User: help users to register/login, manage profile, etc. Maybe I will move all code of the “user” feature to a new service in the next version. But right now, I will keep it in here to save time.
  • Article: manage articles on this website.
  • Workout: manage exercises (with images, video, text) and workout
  • Plan: help users track their daily activities (meals, exercises)
  • Other services: I will add other ones if I have more time or many people interested in this series.

All code will be pushed to Github and integrated CI/CD to publish on Heroku or AWS.

Next Step

Although each service has a specific mission and a different logic, they still share a lot of code, such as authorization, authentication, JSON response format, etc. Because of that, in the first step, I will write all shared code in a package and publish it on the NPM server.

P/S: This is the first time I write a blog. So, if you have any feedback, please let me know. Thanks a lot.

--

--