/Fullstackopen-2022

React, Node, MongoDB, REST, GraphQL and TypeScript exercises for Full Stack Open 2022

Primary LanguageJavaScript

COURSE Full Stack Open 2022

Exercises for the course: Full stack open 2022

using Javascript, React, Node, Express, REST API, Typescript and more technologies by Juanescacha.

My submission for the Full Stack Open 2022 by the University of Helsinki's Department of Computer Science.

General

Learn React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go! This course will introduce you to modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js.

Course material

Part 0: Fundamentals of Web apps

  • General info
  • Fundamentals of Web apps

Part 1: Introduction to React

  • Introduction to React
  • Javascript
  • Component state, event handlers
  • A more complex state, debugging React apps

Part 2: Communicating with server

  • Rendering a collection, modules
  • Forms
  • Getting data from server
  • Altering data in server
  • Adding styles to React app

Part 3: Programming a server with NodeJS and Express

  • Node.js and Express
  • Deploying app to internet
  • Saving data to MongoDB
  • Validation and ESLint

Part 4: Testing Express servers, user administration

  • Structure of backend application, introduction to testing
  • Testing the backend
  • User administration
  • Token authentication

Part 5: Testing React apps, custom hooks

  • Login in frontend
  • props.children and proptypes
  • Testing React apps
  • End to end -testing

Part 6: State management with Redux

  • Flux-architecture and Redux
  • Many reducers
  • Communicating with server in a redux application
  • connect

Part 7: React router, styling app with CSS and webpack

  • React-router
  • Custom hooks
  • More about styles
  • Webpack
  • Class components, E2E-testing
  • Exercises: extending the bloglist

Part 8: GraphQL

  • GraphQL-server
  • React and GraphQL
  • Database and user administration
  • Login and updating the cache
  • Fragments and subscriptions

Part 9: Typescript

  • Background and Introduction
  • First Steps with Typescript
  • Typing express app
  • React with types

Part 10: React Native

  • Introduction to React Native
  • React Native basics
  • Communicating with server
  • Testing and extending our application