As a junior developer, you might be able to get a job without knowing much (or anything) about testing. However, it’s invaluable information as you progress in your career, as all software engineering roles will ultimately require testing in some form or another. So understanding testing and its implementation could set you apart as a new programmer.

It’s important to understand, first, that there are many types of testing with varying degrees of complexity and automation. I will start with the basics, touching on one of the simplest forms, unit tests.

Unit testing (sometimes known as component testing) is a…


Photo by Kevin Ku on Unsplash

To continue with my past few weeks’ blogs on Node.js, I brought together several popular services and libraries that represent a larger part of the Node ecosystem. I linked some of my relevant previous blogs with more information about the particular library mentioned.

For example purposes, I created a simple app to catalogue pets and their care routine. For this week, I only added animals with their names and types. You can think of these as the “users.”

My first step was creating a Pet model with Mongoose, which provides a structure for my MongoDB database. I then spun up…


Last week, I covered the creation of a very basic Node.js application connected to a MongoDB server. In that blog, I outlined the “C” in CRUD, the “Create” action. If you have not already, I recommend reading the first part, as it covers a number of setup operations not covered here.

This week, I will demonstrate the rest of the CRUD actions. Like last week, I am providing more of a proof of concept than a fleshed-out application. …


Photo by Luke Peters on Unsplash

As I continue to learn Node.js, it helps me to explore various libraries and services, which expand the possibilities of the framework. This week, I began to familiarize myself with MongoDB and how I can connect a Mongo server to a Node application.

When learning a new language or framework, a helpful beginner project is to build a simple CRUD app — it can Create, Read, Update, and Delete. …


Photo by James Harrison on Unsplash

After attending a wedding, I got interested in the idea of templating. When you send an invitation, all of the information remains the same for each recipient with the exception of the “to:” portion. The body of your invitation is identical, but there is a greeting addressed to each individual. The ability to change this individual greeting dynamically is an example of templating.

New programmers are constantly taught to keep their code DRY, meaning ‘Don’t Repeat Yourself’. Better code is dynamic and reusable. …


Express is one of the best known and most used node packages. According to its NPM page, it has 16,165,702 weekly downloads.

Express makes it easy to quickly set up a web server, so it is a great solution for hosting a single page application or API. As part of my dive into Node, I investigated some easy ways to see Express in action quickly. I like getting started with small examples, so I can better understand the roots that form more complex applications.

To start up Express, you install the package and require it in your application.

Express is…


I’m always trying to enhance my overall JavaScript knowledge, and I’ve been doing so recently by putting time towards learning Node.js. To this end, I have been building a basic weather app.

Communicating with an API is a great way to learn how to structure different requests and determine which information you want back. To make this process easier, I installed the highly recommended HTTP client server, Request.

As of February 11, 2020, though, the Request NPM package has been deprecated. Thankfully, the popular and trusted API testing service, Postman, picked up the slack and has fixed any bugs that…


I’ve recently started working more with Node.js, and with my inexperience comes a lot of broken apps and code that simply doesn’t work. It can be pretty frustrating, but from learning where my mistakes most commonly arise, I can hopefully stop myself from erring in the same way.

I won’t go so far as to call this first method “debugging.” In the context of console.log, I know this terminology is controversial. For me, though, the console is a great place to start to find my own errors.

Not only could I be incorrect through a typo or missing bracket, but…


Photo by Damian Zaleski on Unsplash

Many frontend specific roles require knowledge that you might not have acquired without on-the-job training or by doing some extra research. Two of the most common requirements found in job descriptions — beyond the obvious HTML/CSS/JavaScript/SPA framework proficiency — are knowledge of cross-browser compatibility and web accessibility standards. In this post, I will talk about the latter.

Part of creating a great site or app is making sure all potential users can benefit, including those with disabilities. On their site, the Web Accessibility Initiative outlines their goals and provides accessibility checklists and methods for meeting these standards.

Talking about the…


Getting started with Google Firestore and Firebase is much like getting started with the Redux library. There is a lot of boilerplate code and specific syntax required to make it work. It takes some effort to get the scaffolding in place, but once set, it is powerful and can make your project more efficient.

I compare these two because I recently implemented a library to help me connect it all together in a project to which I have been referring frequently, my React Tarot Card App.

To give a bit of background, users can create an account then sign in…

Alex Foreman

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