Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/juanescacha/fullstackopen

React, Node, MongoDB, REST, GraphQL, TypeScript, React Native, CI/CD, Databases and Containers exercises for Full Stack Open course
https://github.com/juanescacha/fullstackopen

ci-cd cypress docker express fullstack fullstackopen graphql helsinki-university-mooc javascipt mongodb node react react-native react-query react-redux react-router-dom restful-api typescript webdev

Last synced: 9 days ago
JSON representation

React, Node, MongoDB, REST, GraphQL, TypeScript, React Native, CI/CD, Databases and Containers exercises for Full Stack Open course

Awesome Lists containing this project

README

        

# Full Stack Open Exercises

Exercises for the course: Full Stack Open.
Using Javascript, React, Node, Express, REST API, Typescript and more technologies by Juan Esteban Camargo.

Submission for the [Full Stack Open](https://fullstackopen.com/) by the [University of Helsinki's Department of Computer Science](https://www.mooc.fi/en).

## Overview

- **[Certificate of Completion](#certificate-of-completion)**
- **[Status](#status)**
- **[About](#about)**
- **[Course Content](#course-content)**

## Certificate of Completion

![certificate-till-the-moment-of-the-current-module-on-the-course](/certificate/certificate-part7.png)

## Status

| Part | Status |
| ---- | ------ |
| 0 | ✅ |
| 1 | ✅ |
| 2 | ✅ |
| 3 | ✅ |
| 4 | ✅ |
| 5 | ✅ |
| 6 | ✅ |
| 7 | ✅ |
| 8 | ✅ |
| 9 | ✅ |
| 10 | |
| 11 | |
| 12 | |
| 13 | |

## About

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 Content

### Part 0: Fundamentals of Web apps


  1. General info

  2. Fundamentals of Web apps

### Part 1: Introduction to React


  1. Introduction to React

  2. Javascript

  3. Component state, event handlers

  4. A more complex state, debugging React apps

### Part 2: Communicating with server


  1. Rendering a collection, modules

  2. Forms

  3. Getting data from server

  4. Altering data in server

  5. Adding styles to React app

### Part 3: Programming a server with NodeJS and Express


  1. Node.js and Express

  2. Deploying app to internet

  3. Saving data to MongoDB

  4. Validation and ESLint

### Part 4: Testing Express servers, user administration


  1. Structure of backend application, introduction to testing

  2. Testing the backend

  3. User administration

  4. Token authentication

### Part 5: Testing React apps, custom hooks


  1. Login in frontend

  2. props.children and proptypes

  3. Testing React apps

  4. End to end -testing

### Part 6: Advanced state management


  1. Flux-architecture and Redux

  2. Many reducers

  3. Communicating with server in a redux application

  4. React Query, useReducer and the context API

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


  1. React-router

  2. Custom hooks

  3. More about styles

  4. Webpack

  5. Class components, E2E-testing

  6. Exercises: extending the bloglist

### Part 8: GraphQL


  1. GraphQL-server

  2. React and GraphQL

  3. Database and user administration

  4. Login and updating the cache

  5. Fragments and subscriptions

### Part 9: Typescript


  1. Background and Introduction

  2. First Steps with Typescript

  3. Typing express app

  4. React with types

### Part 10: React Native


  1. Introduction to React Native

  2. React Native basics

  3. Communicating with server

  4. Testing and extending our application

### Part 11: CI/CD


  1. Introduction to CI/CD

  2. Getting started with GitHub Actions

  3. Deployment

  4. Keeping green

  5. Expanding Further

### Part 12: Containers


  1. Introduction to Containers

  2. Building and configuring environments

  3. Basic Orchestration

### Part 13: Using relational databases


  1. Using relational databases with Sequelize

  2. Join tables and queries

  3. Migrations, many-to-many relationships