COURSE Full Stack Open 2022
Exercises for the course: Full stack open 2022
using Javascript, React, Node, Express, REST API, Typescript and more technologies by Juanescacha.
My submission for the Full Stack Open 2022 by the University of Helsinki's Department of Computer Science.
General
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 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