At this point, we have created a series of microservices. We started off by defining a series of shared functionality, which we used as a basis for creating specialist services. These services all used the same port in Node.js, which would have presented us with a problem, but we solved this problem by creating a series of Docker containers to start up our services and redirected the internal ports to different external ports. We saw how to create the relevant Docker files and Docker compose files to start up the services.
Then, we created a React-based client application that used a more advanced layout by introducing tabs to separate viewing results from the microservices from the ability to add records to the services. Along the way, we also used Axios to manage our REST calls.
When it came to REST calls, we saw how we could use Swagger to define our REST API and...