Giter Club home page Giter Club logo

full-stack-open-2019's Introduction

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

full-stack-open-2019's People

Contributors

tarekhiemstra avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.