Building Web Applications from Scratch - Part 1: Introduction to Web Servers with Express

For a new developer, understanding the need for a web server is essential. Initially, you might have created simple static web pages using just HTML, CSS, and JavaScript. Web servers play a crucial role in delivering these static files to users. However, modern web applications often require dynamic content, user interaction, and data processing, which cannot be handled by static pages alone. This is where web servers with dynamic capabilities come into play.

Building Web Applications from Scratch - Part 2: Introduction to Template Engines

A template engine allows you to embed dynamic data inside HTML templates, making it easier to generate web pages dynamically. In this part, we’ll explore how to use a popular template engine called **EJS (Embedded JavaScript Templates)** with Express

Effortless Page Routing Using HTMX

React can often be excessive for your web application, and there are instances when utilizing only a web server alongside HTMX can produce equivalent results for creating an interactive application.

Clean Architecture: Express API

Creating a clearly defined, well-documented, and easily readable API is important for making the API easy to use, reducing errors, improving efficiency, and ensuring scalability over time

Clean Architecture: TypeScript Express API

By employing clean architecture, you can design applications with very low coupling and independent of technical implementation details. That way, the application becomes easy to maintain and flexible to change. Clean architecture allows us to create architectural boundaries between dependencies which allows components to be intrinsically testable

Clean Code Names in TypeScript

Names are everywhere in software. We name our variables, functions, arguments, classes, modules, source files and directories. Because we do so much of it, we’d better do it well

JavaScript Refactoring

After reading and enjoying Martin Fowlers free chapter in his second edition on refactoring. I will attempt to suggest a more functional way of doing the same refactor.

Cleaner Exception Handling in JavaScript

Exceptions are when something exceptional or out of the ordinary happens. Here we suggest a cleaner way of handling exceptions. We do this by implementing a functional programming monad called Either.

TypeScript Interfaces and JavaScript Higher-Order Functions

An interface is a structure that defines the contract in your application. Classes that are derived from an interface must follow the structure provided by their interface. An interface is defined with the keyword interface and it can include properties and method declarations:

Crafting JS Applications with JSDoc and TypeScript

There are mixed feelings about using a dynamically typed language like JavaScript when building larger applications. Im not here to fight for JavaScript over Typescript. I will though illustrate how we can write JavaScript in combination with Typescript to assist us in doing this