Jenkins is a free and open source automation server. It helps automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery of applications and services.

Getting started

In this article we are going to dive into preparing a jenkins file that will help in deploying your Nodejs Typescript service.

To proceed , refer to my previous article on setting up your Dockerfile:

Why use jenkins?

Before we understand the why and get started writing a script, we need to understand what is continuous integration and continuous delivery ( CI/CD).

CI and CD stand for continuous integration and…

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and deploy it as one package.

Why learn how to write docker files?

  1. Dockerized apps don’t require their own operating system. So maintaining apps doesn’t also mean maintaining the system on which they run.
  2. Each Dockerized app gets its own set of dependencies. There’s no longer any need to worry about conflicting versions of libraries. If one app needs PHP version 5.2 and another needs 5.4, …

Why create a file service server? it provides a central but independent location on your network where you can store files and share them with users across your network. This ensures that no updates destroy or change files.

What is minIO?

MinIO is a High Performance Object Storage released under Apache License v2.0. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.

So let us get started setting up the easy part. Running minIO in a docker container.

To begin with, download docker: docker is an application…

As on-the-ground micro-service practitioners are quickly realizing, the majority of operational problems that arise when moving to a distributed architecture are ultimately grounded in two areas: networking and observability. It is simply an orders of magnitude larger problem to network and debug a set of intertwined distributed services versus a single monolithic application.

Continuing from the previous gateway service tutorial, we can now know howto implement open tracing to our application.

Why open tracing?

Jaeger terminology and components

Just to recap to another article. Jaeger presents execution requests as traces. A trace shows the data/execution path through a system.

  • A trace is made up of one or more spans. A span is a logical unit of work in Jaeger. Each span includes the operation name, start time, and duration. Spans may be nested and ordered.

Jaeger includes several components that work together to collect, store and visualize spans and traces.

In this article we are going to create a gateway service that will serve all future micro-services that we will learn to create.

What is a gateway?

An API gateway service is an infrastructure layer that sits at the front of all your back-end micro-services. Its specific purpose is to serve requests from the client by routing it to the correct back-end micro-service. In other words it is a node network, a key stopping point for data on its way to or from other networks. …

This is a continuation from the first Login and registration and it is going to be prety brief since most of the concepts in this article were handles in our previous article.

Okay let us get started by creating a middleware for our application. We dont want just anyone to create a profile unless authenticated.

  • Create an auth.js file with and exported authenticate function which accepts a jwt token as a parameter.
  • the function decodes the jwt and verify if user

Create a profile.action.js file and create all your actions in it and export them

This will be a detailed three part series to get you up and ready to build a cool real time back-end monolithic service.

Table of content

  1. Login and registration
  2. User profile edit with authentication with JWT
  3. Data validation

In this part, we will create login and registration socket application using Node.js. We will use Express.js to create the server and MongoDB to store our data.


Before we get started, you need a few tools close to help in your development process.

Joshua Isaac

I am an experienced back-end software engineer adept in bringing forth expertise in design, installation, testing and maintenance of software systems.

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