Node.JS Training

Node.JS Training

29 June 2021 — 20 August 2021

ICT Courses

Node JS enables the development of fast web servers in JavaScript.Developers can create scalable servers without using threading, by using a simplified model of event-driven programming that uses callbacks to signal the completion of a task.



Price 300 Euro (20% discount for bachelor students)
Application deadline June 29
Apply

Course Details


☆  Abstract

A few years ago, JavaScript served only as a front-end development tool and was used along with various server-side languages. That was until the release of the initial version of NodeJS.
Because of NodeJS, JavaScript could be used to write the code for backend applications as well.
Backend development is essential in any kind of application whether that is a mobile app, a web app, or a desktop app, because everything needs to have a backend for maintaining so many things under the hood.

NodeJS plays a significant role in the technology stack. It is one of the most popular choices for backend development. Express JS is a prebuilt NodeJS framework that helps in creating server-side web applications faster and smarter. It entails characteristics such as simplicity, minimalism, flexibility, scalability and since it is made in NodeJS itself, it inherits its performance as well.

NodeJS continually fetches data from the backend server. All of this data needs to be stored in a database. Even though NodeJS works well with the MySQL database, the perfect combination is a NoSQL like MongoDB wherein the schema need not be well-structured. MongoDB represents the data as a collection of documents rather than tables related by foreign keys. This makes it possible for the varied types of data dealt over the internet to be stored decently and accessed in the web applications using Node.js.

☆  About the course

This course goes in depth into the fundamentals of Node and then progresses to other tools, frameworks, and techniques for advanced backend development.

☆  Who is this course for?

This course is aimed at individuals that are seeking to improve their backend programming skills with Node. The typical candidate is passionate about technology and programming and is willing to explore new subjects.

☆  Expected learning outcomes

Upon course completion, students will be able to:

● Thoroughly understand Node JS
● Use Git to version the codebase and use it as a team collaboration tool
● Write CLI applications
● Understand HTTP
● Use Express and MongoDB to create powerful RESTful applications
● Use Postman to debug HTTP requests
● Test applications to enforce quality
● Deploy applications

☆  Training content and timing

1.Introduction
a. Course Outline
b. Introduction to Node Js
c. Why Use Node Js?

2.Setting Up the Development Environment
a. Installing Node Js and NPM
b. Installing and Setting Up Visual Studio Code
c. Writing Your First Hello World

3.Modules
a. What Are Node Modules?
b. Exploring and Importing Node Core Modules
c. Importing Own Modules and Files
d. What Is the NPM?
e. Exploring and Importing NPM Modules
f. Global NPM Modules

4.Git
a. Introduction to Git
b. Initialising a Git Project
c. Git Commands
d. Techniques For Team Collaboration

5.Command Line
a. What Is the Command Line Interface and Why Use It?
b. Introduction to the File System
c. Getting Familiar With the CLI
d. Parsing User Input and Arguments
e. Introduction to JSON
f. Creating Your First CLI App
g. CRUD Operations Via the CLI

6.Errors and Debugging
a. Error Handling
b. Understanding Error Messages
c. Debugging

7. Node Js Core Concepts
a. The V8 Engine
b. Blocking and Non-Blocking Calls
c. The Event Loop
d. The Call Stack and Callback Queue
e. Understanding Asynchronous Calls

8. HTTP
a. Introduction to HTTP
b. HTTP Methods
c. Your First HTTP Request
d. Attaching Information to HTTP Requests
e. Understanding Asynchronous Calls and Callbacks
f. Callback Chaining

9. Express
a.Introduction to Express
b. What Are Web Servers and How Do They Work?
c. Installing Nodemon
d. Serving Static Files
e. HTML, CSS and JavaScript With Express
f. Understanding Template Engines
g. Setting Up Handlebars
h. Error Pages
i. Styling The Application

10. REST
a. Introduction to REST APIs
b. Accessing REST APIs In The Browser
c. Installing and Exploring Postman
d. Creating Your First HTTP Endpoint
e. Understanding Ajax
f. Consuming HTTP Endpoints

11.MongoDB
a. Introduction to Databases
b. Difference Between SQL and NoSQL
c. Installing MongoDB
d. Connecting to MongoDB Via the CLI
e. Documents and Collections
f. CRUD Operations With MongoDB
g. The Object Id
h. MongoDB Queries

12. Creating a REST Application
a. Mongoose
i. Setting Up
ii. Creating Models
iii.Data Validation
iv. Data Sanitization

b. REST API
i. Planning Your API
ii. Creating Resources
iii.Retrieving Resources
iv.Updating Resources
v. Deleting Resources and Soft Deletes

c. Promises
i.  Understanding Promises
ii. Then, Catch, Finally
iii. Promise Chaining
iv.  Async/Await
v. Try, Catch, Finally

d. Security and Authentication
i. Password Hashing
ii. JSON Web tokens
iii. Authentication With JWT
iv. Creating Middlewares
v. Attaching Authentication tokens to HTTP Requests
vi. Debugging Requests With Postman
vii. Authorizing Endpoints

e. Data Filtering
i. Sorting
ii. Pagination
iii. Filtering
f. Uploading Files
i. Creating Endpoints
ii. Validating Files
iii. Serving Uploaded Files

13. Testing
a. Why Do You Need to Test Your Application?
b. Understanding Unit Tests
c. Setting Up Jest
d. Assertions
e. Running Tests
f. Asynchronous Testing
g. Mocking

14.Deploying Your Application

☆  Prerequisites

JavaScript fundamentals and general programming concepts

☆  Duration/ Shcedule

Duration

• 70 Hours
• 3 days* / 9 hours per week* / 8 weeks*

Every Tuesday - Thursday and Saturday from 16:30 - 19:30

This course will start on June 29, 2021

Training room fifth floor.

☆  Certification / Completion

Criteria:

• Course attendance – 80%.
• Final Project/Exam – 20%.




Node.JS Training

Entor Arifi

Instructor

Entor Arifi is a software engineer and tech enthusiast experienced in working with different languages and technologies. Entor has a passion for programming, algorithms, microservices and containerization. He is also very resourceful working with UNIX, databases and networking. Entor has been working on projects for international clients and specializes in API design and Full Stack development.






BOLD

© ICK — Innovation Centre Kosovo