Delve into the Full-Stack World

In this blog, I explore everything full-stack web developer related from niche bug fixes, mobile development, API configuration and web developer lifestyle matters.

For front-end developers I will be detailing all sorts of configuration and quirks when working with JavaScript, Angular, React and Ionic/Capacitor.js.

For the back-end developers, I work with Node.js, C#/.NET and SQL or MongoDB. If that applies to you, there will be tidbits to make your life easier.

Follow me on Twitter @Mick_Patterson_ for updates and thoughts on life.

As featured on

Blog card feature

How to Add a Column to a SQL Server Table

02 June, 2022

Modifying existing SQL tables is a common use case as the data models for your application change. The most basic of these modifications is to add a new column to a SQL table to capture more data.

Blog card feature

Add Auto-Increment to a Column in SQL Server

25 February, 2022

Knowing how to add auto-incrementing to a numeric column in SQL Server is a skill all database admins should have. It is an exceptionally common use case, whether it be on the Primary Key column of your table, or you need a column to identify insert order or similar.

Blog card feature

Adding Custom HTTP Headers to an Azure Function Response in Nodejs

18 August, 2021

Adding custom headers to the response object of of an Azure Function written in Node sounds simple. Turns out it may not be as simple as it sounds.

Blog card feature

Adding Rollbar Error Tracking to Ionic + Angular

14 July, 2021

A quick how-to guide to adding Rollbar cloud error logging to your Ionic app with Angular

Blog card feature

Adding Sign-in with Apple to Ionic Capacitor Apps with Firebase

23 August, 2021

Authentication is vital for any app with user accounts. Apple requires that their authentication provider is available on all apps submitted to the iOS app store.

Blog card feature

API Versioning with NodeJs and Express

30 August, 2021

Setting up an API with NodeJs and Express is a topic that is well covered and documented. But what happens when your API requirements expand beyond having a simple CRUD offering? API versioning can help with this. Anytime you see an API url with /v1/ in it, the API is using an internal versioning setup. In this post we'll cover one simple way to configure this with NodeJs and Express.

Blog card feature

Best Indie Fullstack Developer Tools

18 July, 2021

A curated list of the best developer tools for fullstack indie developers covering everything from coding, git, database admin and devops

Blog card feature

Connecting to a SQL Server Database via NodeJs

01 November, 2021

Every full-stack application in production today probably connects to a database of some variety, whether that be a NoSQL database like MongoDB, a MySQL database like MariaDB, a SQL Server database like those provided by Azure or any other variety. This means that knowing how to wire up a stable connection to these databases from your NodeJs API is a critical skill.

Blog card feature

Creating a Realtime Chat with NodeJs, Express and

14 July, 2021

Step-by-Step guide to setting up an express server to run as a realtime chat server

Blog card feature

How to calculate the number of days between two dates in javascript?

20 September, 2021

Date manipulation and calculations are core to a huge amount of enterprise business logic. Being a wizard at using dates and turning them into simple values to run your logic on is critical. Knowing how to calculate the number of days between two dates is an essential piece of logic to have in your utility belt. This post will explain clearly how the math works as well as creating a simple utility function that can be used anywhere.

Blog card feature

How to Calculate the Number of Months Between Two Dates in Javascript

05 November, 2021

Manipulating dates in Javascript is an extremely common requirement for a large number of apps and server logic (when using NodeJs). The ability to retrieve the number of months between dates is a very common and useful skill to have in your toolkit.

Blog card feature

How to Create a SQL Server Index

21 February, 2022

Adding indexes to your SQL Server tables is something that you will do plenty of times throughout your career, either as a full-stack developer or as a specialist database admin. Fortunately, adding indexes to tables in your database is a pretty simple task.

Blog card feature

How to Make Money as a Developer

08 December, 2021

Being a software developer of any flavour opens a wide range of possible income sources to you so that you can invest your time and energy in creating the lifestyle you desire.

Blog card feature

How to Set the Timezone of an Azure Function App

18 February, 2022

By default, the timezone of an Azure Function app is UTC/GMT +0 or Greenwich Mean Time. This is great if that is your timezone or the timezone you want your application functions to run in, but for most of us, we need to either adjust all our schedules to fit that timezone or we need to change the timezone.

Blog card feature

How to setup an Angular HTTP Interceptor

16 August, 2021

An HTTP interceptor is a piece of logic that is able to attach to a HTTP request or response. This logic can then modify the data being transferred.

Blog card feature

How to Setup Scheduled Functions with NodeJs, Express and Node-Cron

21 September, 2021

Building an API with NodeJs and Express is always one of the key building blocks of any full stack application. In conjunction with managing user requests, the NodeJs API application can also help maintain database integrity by performing scheduled maintenance checks to ensure everything remains in solid working order.

Blog card feature

How to Use Environment Variables in An Angular App

05 September, 2021

Environment variables in an Angular app are extremely useful for storing constants in your app that need to be used frequently, such as API url's, API access keys, Firebase config values and other general flags.

Blog card feature

How to use Environment Variables in NodeJs with Express and Dotenv

22 September, 2021

Environment variables in NodeJs are essential for setting configuration options as well as storing important values securely. The environment variables allow you to store API keys and other configuration secrets independently from your main codebase and separate from your git repository so they never get checked in anywhere. Being able to configure and consume these variables is essential in creating solid, production-ready NodeJs APIs for all applications.

Blog card feature

HTTP Interceptors in a Create-React-App with Axios

30 August, 2021

A how-to for adding HTTP interceptors to a Create-React-App app with the Axios npm library to check and modify request and response headers for all HTTP requests

Blog card feature

HTTP Methods Explained for Frontend Developers

23 September, 2021

Frontend developers will inevitably need to make HTTP requests frequently when building out the client side of a full stack app. Having a solid understanding of these methods and how to build the requests is essential in being a top shelf frontend developer.

Blog card feature

Integrating Firebase with Ionic + Angular

14 July, 2021

A quick how-to guide for adding Firebase into an Ionic application using Angular

Blog card feature

Remove Duplicate Entries From a Javascript Array

04 November, 2021

Arrays are one of the most common data structures you will use in Javascript. They create lists for displaying to users that can be simple or contain complex data objects. Creating lists that have clean information in them is vital for a good user experience. One way to do this is to make sure you are not displaying the same information multiple times.

Blog card feature

Remove the White Screen Before the Splash Screen in a Flutter App

21 October, 2021

By default, iOS and Android show a native loading screen before the splash screen of a Flutter app is displayed. This default screen is completely white which means your app will have a white "flash" before showing your custom splash screen in your app's colours and with your logo. This is not a good user experience. We are unable to remove this native screen, but we can customise it a little bit to make it less intrusive.

Blog card feature

Returning JSON objects from an Azure Function in Node.js & Typescript

13 July, 2021

Often, by default, an Azure Function written in NodeJs stringifies the response object being returned. This results in unnecessary JSON parsing on the client in order to be able to process the response. Luckily, we can avoid this by making a simple change to the Azure Function to ensure the object is returned.

Blog card feature

Setting iOS App to Portrait Only for iPads

17 July, 2021

A quick how-to for setting portrait (or landscape) only for your iOS app for iPads as the default setting in XCode doesn't apply to all devices equally.

Blog card feature

Sorting an Array of JavaScript Objects in a Specific Order

17 July, 2021

Sorting an Array of JavaScript Objects in a Specific Order is a use case that comes up quite frequently when building UI layouts to meet client specifications. Unfortunately, it is more challenging than a standard array sort and requires additional setup work.

Blog card feature

SQL Server Insert or Update Query with T-SQL & Merge

31 July, 2021

A standard SQL Server query to execute that will insert a new row or update an existing one

Blog card feature

The Complete Guide to HTML Input Types

11 November, 2021

The humble HTML input tag is actually an extremely useful and powerful HTML tag. Not only are they used for constructing forms, but they allow for all sorts of additional functionality to be added to your page.

Blog card feature

Use Azure DevOps to deploy a NodeJs Function app

31 March, 2022

Setting up continuous deployment on an Azure Function app can save a lot of time, particularly if your development process follows small, agile deployments where you may deploy to your production environment multiple times a day or week.

Blog card feature

What is a SQL Index?

04 January, 2022

SQL databases are fundamentally pretty simple. Data is organised into tables and the tables have columns that connect each other together. The key for a SQL database is to be performant. Sometimes, queries can be extremely slow to return the filtered down dataset that our app is looking for. This is where SQL indexes come in.

Blog card feature

What is the Partial Type in Typescript

04 June, 2022

The Partial type in Typescript is a built in type that provides some very useful functionality to us to help manipulate other user-defined types while we are developing our app

Blog card feature

Why I use Microsoft Azure

14 July, 2021

Reasons why Azure is the DevOps platform of choice for me