A submission repository for the University of Helsinki's Full Stack Open 2021 course, which teaches React, Redux, Node.js, MongoDB, GraphQL and TypeScript. This course introduces modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js
Over Winter 2021, I completed 8 ETCS credits, whereby I used 171 hours! It was truly an enriching experience where I could polish and refine my web development skills, and at the same time learn best practices and new technologies.
| Part | Exercises | Hours | Github Repo |
|---|---|---|---|
| 0 | 6 | 10 | Part 0 |
| 1 | 14 | 10 | Part 1 |
| 2 | 20 | 19 | Part 2 |
| 3 | 22 | 26 | Part 3 |
| 4 | 20 | 21 | Part 4 |
| 5 | 22 | 20 | Part 5 |
| 6 | 21 | 17 | Part 6 |
| 7 | 21 | 22 | Part 7 |
| 9 | 24 | 26 | Part 9 |
| Total | 170 | 171 | -- |
- General info
- Fundamentals of Web apps
- Introduction to React
- Javascript
- Component state, event handlers
- A more complex state, debugging React apps
- Rendering a collection, modules
- Forms
- Getting data from server
- Altering data in server
- Adding styles to React app
- Node.js and Express
- Deploying app to internet
- Saving data to MongoDB
- Validation and ESLint
- Structure of backend application, introduction to testing
- Testing the backend
- User administration
- Token authentication
- Login in frontend
- props.children and proptypes
- Testing React apps
- End to end -testing
- Flux-architecture and Redux
- Many reducers
- Communicating with server in a redux application
- connect
- React-router
- Custom hooks
- More about styles
- Webpack
- Class components, E2E-testing
- Exercises: extending the bloglist
- GraphQL-server
- React and GraphQL
- Database and user administration
- Login and updating the cache
- Fragments and subscriptions
- Background and Introduction
- First Steps with Typescript
- Typing express app
- React with types
- Introduction to React Native
- React Native basics
- Communicating with server
- Testing and extending our application
