Skip to content

mitulagr2/fullstackopen

Repository files navigation

Full Stack Open 2022 🔥

This is my course submission repository for The Full Stack Open 2022 by The University of Helsinki!

certificate-fullstack

Table of contents

💡 What I Learnt

Part 1 - Introduction to React

  • Javascript ES6.
  • Component architecture.
  • Helper functions.
  • Page re-rendering.
  • Stateful components.
  • React hooks.
  • Event handling.
  • Debugging React applications and React devtools.

Part 2 - Communicating with server

  • Rendering a collection.
  • Using HTML forms.
  • Controlled components.
  • Handling data stored in a remote server.
  • JavaScript Promises.
  • REST API.
  • Single responsibility principle and modularizing backend communication.
  • Adding CSS to React.

Part 3 - Programming a server with NodeJS and Express

  • HTTP verbs and resource oriented architecture.
  • curl and Postman.
  • HTTP safety and idempotence standards.
  • Using middlewares.
  • Same origin policy and CORS.
  • Deploying to Heroku.
  • Debugging Node applications and Chrome dev tools.
  • Validating received data using mongoose custom validators.
  • Configuring ESLint.

Part 4 - Testing Express servers, user administration

  • Unit and Integration tests.
  • User authentication and authorization.
  • Node.js project directory structure best practices.
  • jest.
  • supertest to test backend API.
  • Using async/await and express-async-errors to refactor tests.
  • Introduction to database modelling.
  • Token based authentication and it's limitations.

Part 5 - Testing React apps

Part 6 - State management with Redux

  • Introduction to Flux-architecture.
  • Moving app state to the Redux store.
  • Pure functions and immutability.
  • Introduction to test driven development.
  • Action creators and forwarding Redux-Store.
  • Complex state and combined reducers.
  • Trimming redux configuration using Redux Toolkit.
  • Redux DevTools.
  • Asynchronous actions and Redux Thunk.
  • Using react-redux's connect-function for older projects that do not use the hook-api (Legacy code maintainance ⚔️).
  • Presentational, container, and higher order components. A brief breakdown of design choices.

Part 7 - React router, custom hooks, styling app with CSS and webpack

  • React router and application navigation structure.
  • Custom hooks.
  • React UI libraries comparision and the styled components library.
  • Bundling with webpack.
  • Babel loader to transpile JSX into regular JavaScript.
  • Loading CSS with css-loader and injecting a merged style element with style-loader.
  • Incorporating hot reload with webpack-dev-server.
  • Generating source-map to trace errors during execution and enable Chrome debugger.
  • Minification using UglifyJS.
  • Adding polyfill for browser compatibility.
  • Class components.
  • An overview of React-Node app security, Server-side rendering and Universal code, PWAs, Microservice architecture, and Serverless computing.

Part 8 - GraphQL

  • GraphQL Schemas and Queries.
  • Apollo server and Apollo studio explorer.
  • Mutations and their resolvers.
  • Error handling and GraphQL validation.
  • Enums and Query filtering.
  • Named queries and parameters.
  • Handling cache.
  • Management of application state by Apollo client.
  • Fragments.
  • Subscriptions.

Part 9 - TypeScript

  • Key features - type annotations, structural typing, type inference - and why one should use TypeScript.
  • Initializing an express app using tsc.
  • Union types and interfaces.
  • Utility types.
  • Proofing received data and type guards.
  • React components with TypeScript.
  • Exhaustive type checking.

Annnnnnd, a lot more!!

💌 Other Full Stack Open Repositories

- Full Stack Open 2022 - mitulagr2/phonebook-fullstackopen

- Full Stack Open React Native 2021 - mitulagr2/fso-rate-repository-app

- Full Stack Open CI/CD - mitulagr2/full-stack-open-pokedex

- Full Stack Open Containers - mitulagr2/fso-containers-and-orchestration

Thank you very much!

Open to any suggestions on how to make this better! Much appreciated!

About

Exercise solutions with live deployments for The Full Stack Open 2022 by the University of Helsinki.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published