22 03 2019
TypeScript JavaScript 6 min read

Design Patterns: Adapter

There are 23 classic design patterns, which are described in the original book, Design Patterns: Elements of Reusable Object-Oriented Software. These patterns provide solutions to particular problems, often repeated in the software development.In this article, I am going to describe the how the Adap…

15 03 2019
NestJS NodeJS TypeScript 13 min read

Part 9. Testing: Backend Testing - Unit Testing - Services

This post is part of a Series of post which I'm describing a clock-in/out system if you want to read more you can read the following posts:Part 1. Clock-in/out System: Diagram.Part 2. Clock-in/out System: Basic backend - AuthModule.Part 3. Clock-in/out System: Basic backend - UsersModule.Part 4. Clo…

08 03 2019
JavaScript NodeJS TypeScript 5 min read

Demeter's Law: Don't talk to strangers!

What is Demeter's Law? The Law of Demeter (LoD) or principle of least knowledge is a design guideline for developing software, particularly object-oriented programs - Wikipedia This law was proposed by Ian Holland in 1987 when he and his colleagues were programming a system called Demeter using orie…

01 03 2019
JavaScript NodeJS TypeScript 6 min read

Design Patterns: Template Method

There are 23 classic design patterns, which are described in the original book, Design Patterns: Elements of Reusable Object-Oriented Software. These patterns provide solutions to particular problems, often repeated in the software development.In this article, I'm going to describe the how the Templ…

22 02 2019
JavaScript NodeJS TypeScript 4 min read

Design Patterns: Strategy Pattern in JavaScript

There are 23 classical design patterns which was described in the original book, Design Patterns: Elements of Reusable Object-Oriented Software. The patterns provides a solution to a particular problem which is repeated in the software development.In this article, I'm going to describe the Strategy…

15 02 2019
Angular JavaScript TypeScript 5 min read

Part 8. Clock-in/out System: Deploy frontend (Angular 6+) using environments

This post is part of a Series of post which I'm describing a clock-in/out system if you want to read more you can read the following posts:Part 1. Clock-in/out System: Diagram.Part 2. Clock-in/out System: Basic backend - AuthModule.Part 3. Clock-in/out System: Basic backend - UsersModule.Part 4. Clo…

08 02 2019
JavaScript NodeJS TypeScript 5 min read

Understanding JavaScript/TypeScript Memoization

What means Memoization? The definintion of memoization from the wikipedia is the following: In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the s…

01 02 2019
NestJS TypeScript NodeJS 5 min read

Part 7. Deploy Backend (NestJS): Docker/Docker-Compose

This post is part of a Series of post which I'm describing a clock-in/out system if you want to read more you can read the following posts:Part 1. Clock-in/out System: Diagram.Part 2. Clock-in/out System: Basic backend - AuthModule.Part 3. Clock-in/out System: Basic backend - UsersModule.Part 4. Clo…

18 01 2019
Angular TypeScript 12 min read

Part 6. Clock-in/out System: Basic frontend

This post is part of a Series of post which I'm describing a clock-in/out system if you want to read more you can read the following posts:Part 1. Clock-in/out System: Diagram.Part 2. Clock-in/out System: Basic backend - AuthModule.Part 3. Clock-in/out System: Basic backend - UsersModule.Part 4. Clo…

25 11 2018
NestJS NodeJS TypeScript 8 min read

Part 2. Clock-in/out System: Basic backend (I) - AuthModule

This post is part of a Series of post which I'm describing a clock-in/out system if you want to read more you can read the following posts:Part 1. Clock-in/out System: Diagram.Part 2. Clock-in/out System: Basic backend - AuthModule.Part 3. Clock-in/out System: Basic backend - UsersModule.Part 4. Clo…