This course is an introduction to modern JavaScript-based web development with focus on building single page applications using React that use REST APIs built with Node.js. It covers React, Redux, Node.js, MongoDB, GraphQL, TypeScript, React Native, CI/CD, and more.
0.1 - General Info
0.2 - Fundamentals of Web Apps
1.1 - Introduction to React
1.2 - JavaScript
1.3 - Component State, Event Handlers
1.4 - A More Complex State, Debugging React Apps
2.1 - Rendering a Collection, Modules
2.2 - Forms
2.3 - Getting Data from Server
2.4 - Altering Data in Server
2.5 - Adding Styles to React App
3.1 - Node.js and Express
3.2 - Deploying App to Internet
3.3 - Saving Data to MongoDB
3.4 - Validation and ESLint
4.1 - Structure of Backend Application, Introduction to Testing
4.2 - Testing the Backend
4.3 - User Administration
4.4 - Token Authentication
5.1 - Login in Front-end
5.2 - props.children and proptypes
5.3 - Testing React Apps
5.4 - End-to-end Testing
6.1 - Flux-architecture and Redux
6.2 - Many Reducers
6.3 - Communicating with Server in a Redux Application
6.4 - React Query, useReducer, and the Context
7.1 - React Router
7.2 - Custom Hooks
7.3 - More About Styles
7.4 - Webpack
7.5 - Class Components, Miscellaneous
7.6 - Exercises: Extending the Bloglist
8.1 - GraphQL-server
8.2 - React and GraphQL
8.3 - Database and User Administration
8.4 - Login and Updating the Cache
8.5 - Fragments and Subscriptions
9.1 - Background and Introduction
9.2 - First Steps with Typescript
9.3 - Typing an Express App
9.4 - React with Types
9.5 - Grande Finale: Patientor
10.1 - Introduction to React Native
10.2 - React Native Basics
10.3 - Communicating with Server
10.4 - Testing and Extending our Application
11.1 - Introduction to CI/CD
11.2 - Getting Started with GitHub Actions
11.3 - Deployment
11.4 - Keeping Green
11.5 - Expanding Further
12.1 - Introduction to Containers
12.2 - Building and Configuring Environments
12.3 - Basics of Orchestration
13.1 - Using Relational Databases with Sequelize
13.2 - Join Tables and Queries
13.3 - Migrations, Many-to-many Relationships