What is this?

This is an introductory workshop to Node.js and Express Web Framework.

Why Node.js?

Node.js is an open source and cross-platform JavaScript runtime that breaks Javascript out of the confines of the browser and lets you write and run Javascript applications on the server and on your desktop.

In addition to server-side applications Node.js has also enabled a new generation of development tools for Javascript such as WebPack and Babel, desktop platforms like Electron and NW.js, as well as a thriving NPM ecosystem of 3rd-party open source packages for every task your could imagine.

And it’s non-blocking event-driven I/O model makes it fast. Really fast.

Express is one of the most widely-used Node.js web frameworks. Express helps you to create web applications easily by providing many conveniences on top of the fantastic foundataion provided by Node.js

So now you can write your backend services in Javascript, your website frontend in Javascript, desktop tools, and automation as well.

The future is obviously written in Javascript, so the better question is: Why not Node.js?

What will we be building?

We’ll be building our own basic content management system (CMS) using Node.js and Express. At the end of the workshop, you will be able to write, publish and save your blog posts using your very own platform. If you can finish the challenge goals, you can even delete your posts or indicate a mood for a blog post :sparkles:

This will give you a introduction to Node.js and it’s accompanying package manager (NPM), setting up a new project, installing dependencies, and building the website backend and API service with Express.js.

Prerequisites

We have tried our best to make the workshop beginner friendly.

Previous experience with Javascript, Express.js, or Node.js is useful but not necessary for this workshop.

You won’t be writing any front-end code in this workshop, so some experience with HTML, CSS & front-end Javascript would be helpful but would be useful.

There will be lightning talks help during the day to elaborate on several technical topics to make you more familiar to the concepts.

Workshop Structure

This workshop is divided into a number of steps. At the end of each step, you will find a link to continue onto the next step.

After the final step we have some bonus challenge steps to test you.

Then we have some links to resources to continue your studies.

You will see code snippets throughout the walkthrough. Try to resist the urge to copy and paste - you will learn much more if you get into the habit of typing things out.

Throughout each step, we have bolded any jargon that you may or may not be familiar with. These terms are explained in the Keywords section at the bottom of each page. You’ll also find a link to our cheatsheets and other references in the Useful Links section at the bottom.