1-Nodejs Course 2023: Introduction To Nodejs
Tags: node, typescript, mongodb, fastify
Published: 2022-10-27 07:16:19

---
title: 1-Nodejs Course 2023: Introduction To Nodejs
published: true
description: 
series: Nodejs Course 2023
tags: nodejs, typescript, mongodb, fastify
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1khy1ugj483vyhkxv6yb.png
# Use a ratio of 100:42 for best results.
# published_at: 2022-10-25 09:51 +0000
---

## What is NodeJs

NodeJs is a JavaScript runtime built on Chrome's V8 JavaScript engine. It is used to build fast and scalable backend applications. NodeJs is an open-source, cross-platform,.

## 🎨 What this course will cover

This course will cover the following topics:

- Introduction to NodeJs
- What you should know before taking this course
- Preparing your development environment
- Installing NodeJs
- Creating a NodeJs application
- HTTP Request Life Cycle
- Working With MongoDB Database
- Working With [Fastify](https://www.fastify.io/) Framework.
- Creating secure API endpoints.

## What you should know before taking this course

You should have a good understanding of Javascript Strings, Arrays, Objects, Functions, and Classes. also basics of `Typescript` is a plus.

## Preparing your development environment

What we need is just an editor, [VSCode](https://code.visualstudio.com/) is a good choice. and a terminal for running commands.

If you're a Windows user, use [Git Bash](https://git-scm.com/downloads) as your terminal. If you're a Mac or Linux user, use the default terminal.

## 🔥 Installing NodeJs

You can download NodeJs from [here](https://nodejs.org/en/download/) choose the LTS version.

Once the installation is done, open your terminal and type `node -v` to check the version of NodeJs you have installed.

## Installing Yarn

Yarn is a package manager for NodeJs. It is faster and more secure than npm. You can install it from [here](https://classic.yarnpkg.com/en/docs/install/#windows-stable).

## Installing MongoDB

MongoDB is a NoSQL database. You can download it from [here](https://www.mongodb.com/try/download/community).

Don't forget to install MongoDB Compass, it's a GUI for MongoDB.

Also don't forget to add MongoDB to your PATH.

Once the installation is done, open your terminal and type `mongod` to check if MongoDB is installed correctly.

For the time of this article, MongoDB version is `6`.

## ⚡ Create New Project

Now let's create a new project, open your workspace folder and run the following command inside it

```bash
npx create-mongez-app backend-app
```

If asked to install dependencies, type `y` and press enter.

![Creating new app](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qedb4l5nje5pjdnhafef.png)

Now select the application type `Node Js (Typescript)` Then select `Basic` as the application template and hit Enter.

This command will make a `boilerplate` project for you, it will install a very basic Typescript Nodejs project with [Nodemon](https://nodemon.io/) watcher to watch for any changes in your code and restart the server automatically.

Once the installation is done, we're ready to to start our project.

## 🎨 Conclusion

In this lesson, we learned what is NodeJs, what this course will cover, what you should know before taking this course, preparing your development environment, installing NodeJs, installing Yarn, installing MongoDB, and creating a new project.

In our next lesson, we will learn what are HTTP Requests and what is life cycle of HTTP Request.

## 🎨 Project Repository

You can find the latest updates of this project on [Github](https://github.com/hassanzohdy/nodejs-2023)

## 😍 Join our community

Join our community on [Discord](https://discord.gg/pb2vmdfhGf) to get help and support (Node Js 2023 Channel).

## 🎞️ Video Course (Arabic Voice)

If you want to learn this course in video format, you can find it on [Youtube](https://www.youtube.com/playlist?list=PLGO8ntvxgiZMJc7RN2lIq9WmMOlWZGzmz), the course is in Arabic language.

## 💰 Bonus Content 💰

You may have a look at these articles, it will definitely boost your knowledge and productivity.

General Topics

- [Event Driven Architecture: A Practical Guide in Javascript](https://dev.to/hassanzohdy/event-driven-architecture-the-best-paradigm-that-i-love-to-work-with-in-javascript-and-node-js-1gnk)
- [Best Practices For Case Styles: Camel, Pascal, Snake, and Kebab Case In Node And Javascript](https://dev.to/hassanzohdy/best-practices-for-case-styles-camel-pascal-snake-and-kebab-case-in-node-and-javascript-55oi)
- [After 6 years of practicing MongoDB, Here are my thoughts on MongoDB vs MySQL
](https://dev.to/hassanzohdy/after-6-years-of-practicing-mongodb-here-are-my-thoughts-on-mongodb-vs-mysql-574b)

Packages & Libraries

- [Collections: Your ultimate Javascript Arrays Manager](https://dev.to/hassanzohdy/collections-your-ultimate-javascript-array-handler-3o15)
- [Supportive Is: an elegant utility to check types of values in JavaScript](https://dev.to/hassanzohdy/supportive-is-an-elegant-utility-to-check-types-of-values-in-javascript-1b3e)
- [Localization: An agnostic i18n package to manage localization in your project](https://dev.to/hassanzohdy/mongez-localization-the-simplest-way-to-translate-your-website-regardless-your-favorite-framework-4gi3)

 React Js Packages

- [useFetcher: easiest way to fetch data in React Js](https://dev.to/hassanzohdy/usefetcher-the-easiest-way-to-fetch-data-in-react-45o9)

Courses (Articles)

- [React Js: Let"s Create File Manager With React Js and Node Js](https://dev.to/hassanzohdy/lets-create-a-file-manager-from-scratch-with-react-and-typescript-chapter-i-a-good-way-to-expand-your-experience-5g4k)