Course Code: pern
Duration: 14 hours
Course Outline:

Introduction to Node JS

developing using node.js and npm JavaScript versions

working with modules functions and arrow functions classes

functional programming in JavaScript (map, filter, ...)

Introduction to Typescript

static vs dynamic typing

declaring types of variables, functions and classes basic data types

tuples, objects interfaces generics

Building Backend APIs using Type Script

How APIs Work Accessing a Public API

Preparing the Development Environment Preparing a Sample Backend Application Creating an API Endpoint

Testing the API Debugging the API Securing the API

Deploying the API Enabled Backend Monitoring the API

Improving the API

RESTful APIs Best Practices

Building Front end using React

JavaScript-based template language: JSX setting element properties

repeating elements if / else

events

CSS classes and styles

Managing state in React

setting and changing the application state using the state hook and setState

capturing the content of input elements in the state

Components: Building blocks of modern web applications

defining custom HTML tags in React

state, props & events

data flow between components

function components and class components using hooks in function components

component lifecycle events (mount, update, unmount) including predefined components from a library

State management with Redux

Redux basics: state mangment with pure functions, reducers and immutable data using the reducer hook in React

integrating Redux into a React application presentational and container components the Redux ecosystem

handling asynchronous events with Thunk fetching data from a REST API

Developer tools and testing

React developer tools

Redux developer tools Testing JavaScript with Jest Testing reducers

Testing React components

React Router

client-side routing

displaying different views based on the current browser route