Full Stack Open 2020
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.
General
This course is an introduction to modern web development with JavaScript. The main focus is on single page applications implemented with React and supporting them with RESTful and GraphQL web services implemented with Node.js. New for this year's course is a part on TypeScript.
Other topics include debugging applications, configuration, managing runtime environments and NoSQL databases.
Exercises done per round
Part | Exercises |
---|---|
0 | 6/6 |
1 | 14/14 |
2 | 0/20 |
3 | 0/22 |
4 | 0/22 |
5 | 0/22 |
6 | 0/21 |
7 | 0/21 |
8 | 0/26 |
9 | 0/27 |
10 | 0/27 |
Total | 6/228 |
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
Part 11: CI/CD
- Introduction to CI/CD
- Getting started with GitHub Actions
- Deployment
- Keeping green
- Expanding Further