---
title: Introduction to the Basic Node and Express Challenges
block: basic-node-and-express
superBlock: back-end-development-and-apis
---

## Introduction to the Basic Node and Express Challenges

Node.js is a JavaScript runtime that allows developers to write backend (server-side) programs in JavaScript. Node.js comes with a handful of built-in modules - small, independent programs - that help facilitate this purpose. Some of the core modules include:

- HTTP: a module that acts as a server
- File System: a module that reads and modifies files
- Path: a module for working with directory and file paths
- Assertion Testing: a module that checks code against prescribed constraints

Express, while not included with Node.js, is another module often used with it. Express runs between the server created by Node.js and the frontend pages of a web application. Express also handles an application's routing. Routing directs users to the correct page based on their interaction with the application. While there are alternatives to using Express, its simplicity makes it a good place to begin when learning the interaction between a backend powered by Node.js and the frontend.

Optionally, you may write your project on another platform, but it must be publicly visible for our testing.

Start this project by cloning <a href='https://github.com/freeCodeCamp/boilerplate-express/'>this repository</a> on GitHub!
