Skip to content

TarekHiemstra/full-stack-open-2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn React, Redux, Node.js, MongoDB, and GraphQL 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.

General

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.

The course covers testing, configuration and environment management, and the use of MongoDB for storing the application’s data.

The course is worth 3-8 credits, and the content is the same as in the Full stack course held at the Department of Computer Science at the University of Helsinki in Spring 2019. There is also an associated project work that is worth 1-10 credits.

Partners and affiliates of the course include Houston Inc, Terveystalo, Elisa, K-ryhmä, Unity Technologies ja Konecranes. See here for guest lectures on course-related topics given by various experts from our partners and affiliates.

Participants are expected to have good programming skills, basic knowledge of web - programming and databases, and to know the basics of working with the Git version-control system. You are also expected to have perseverance and the ability for independent problem solving and information seeking. Part 0 of the course material goes through the content and conduct of the course in more detail. Make sure to read the material and instructions thoroughly. Use the package manager pip to install foobar.

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
  • Custom hooks

Part 6: State management with Redux

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

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

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

Part 8: GraphQL

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

About

Full Stack Open 2019 MOOC course by University of Helsinki

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published