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