Learn React, Redux, Node.js, MongoDB, GraphQL, and TypeScript all at once!
This course serves as an introduction to modern web application development with JavaScript. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js. The course also contains a section on GraphQL, a modern alternative to REST APIs.
- a) General info
- b) Fundamentals of Web apps
- a) Intro to React
- b) JavaScript
- c) Component state, event handlers
- d) A more complex state, debugging React apps
- a) Rendering a collection, modules
- b) Forms
- c) Getting data from server
- d) Altering data in server
- e) Adding styles to React app
- a) Node.js and Express
- b) Deploying app to internet
- c) Saving data to MongoDB
- d) Validation and ESLint
- a) Structure of backend application, introduction to testing
- b) Testing the backend
- c) User administration
- d) Token authentication
- e) Legacy: Testing with Jest
- a) Login in frontend
- b) props.children and proptypes
- c) Testing React apps
- d) End to end testing: Playwright
- e) End to end testing: Cypress
- a) Flux-architecture and Redux
- b) Many reducers
- c) Communicating with server in a Redux application
- d) React Query, useReducer and the context
- a) React Router
- b) Custom hooks
- c) More about styles
- d) Webpack
- e) Class components, Miscellaneous
- f) Exercises: extending the bloglist
- a) GraphQL-server
- b) React and GraphQL
- c) Database and user administration
- d) Login and updating the cache
- e) Fragments and subscriptions
- a) Background and introduction
- b) First steps with TypeScript
- c) Typing an Express app
- d) React with types
- e) Grande finale: Patientor
- a) Introduction to React Native
- b) React Native basics
- c) Communicating with server
- d) Testing and extending our application
- a) Introduction to CI/CD
- b) Getting started with GitHub Actions
- c) Deployment
- d) Keeping green
- e) Expanding Further
- a) Introduction to Containers
- b) Building and configuring environments
- c) Basics of Orchestration
- a) Using relational databases with Sequelize
- b) Join tables and queries
- c) Migrations, many-to-many relationships
This course is offered by the University of Helsinki.