Multithreading is a process of executing two or more threads simultaneously. The most programming languages provide an API for convenient work with threads and parallelism. The developer can focus on application logic, not on the communication channel, synchronization or architecture setup.

Node 10.5 added support for worker_threads module with an experimental flag. But starting from Node 11.7 this feature is available out of the box. It’s a good start for multithreading paradigm in Node.

worker_threads has a huge potential, so support for this module was added to Odi from early stages. As always, Odi goal is to provide convenient, clean…


The chat application is the very common example that used to show simple real-time communication between client and server. This tutorial describes how it can be easily done with Odi, TypeScript server-side framework for Node.js.

Project Setup

We are going to develop the application that not only establishes the real-time communication channel but also renders frontend to the client, including required assets.

Basic Settings

Let’s set up the Odi project. First of all, we should initialize package.json and tsconfig.json files. We can do it with two simple commands.

npm init -y
tsc --init

And install Odi.

npm install odi

Also, we need to modify…


Hello 👋!

I have news about Odi to share. If you missed something, you can check the first article about Odi — Link. After first the article and posts of Reddit, I got a lot of feedback and ideas about the framework. Thank you all guys! When you see that people are interested in your work, it inspires for further development and improvements!

Today I want to tell you about new features in Odi 0.3.0 and reveal plans for the future.

Let’s go!


A lot of applications use SSR (server-side rendering), so we decided to add a convenient way for…


Hi guys!

I am currently working on the server-side TypeScript framework. My team already widely use this framework in various e-commerce and ERP projects. Structure and semantic were inspired by other popular frameworks like Spring and ASP.NET.

List of main goals:

  1. Testable, supportable, scalable
  2. Minimalistic, idiomatic, clear
  3. Intuitive, readable, understandable
  4. Powerful

Currently, there are a lot of possibilities:

  1. Describing routing using controllers and decorators
  2. Powerful, full-typed Dependency Injection
  3. Incoming data validation (using AJV) with various set of decorators
  4. TypeORM integration (Repositories injection, Transactional support using CLS)
  5. Extendable JWT-based authentication

All parts of the framework are fully typed and integrated with…

Dan Tsk

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