This repository contains all the exercises and projects I have developed to complete the Full Stack Open course at the University of Helsinki. The program is geared toward modern web development with JavaScript, focusing on single-page applications (SPAs) implemented with React and backed by RESTful web services created with Node.js.
Throughout the course, I have worked on building complete applications that integrate frontend, backend, and databases, following best practices in development, testing, and deployment.
- React
- Redux
- React Query and Context
- React Router
- Modern JavaScript
- Node.js and Express
- MongoDB and Mongoose
- RESTful APIs
- Authentication and authorization with JWT
- Testing with Vitest
- End-to-end testing with Playwright
- CSS and style frameworks (React Bootstrap, Material UI, Tailwind CSS, styled-components)
- Vite and Webpack
- ESLint
- Git and GitHub
- Custom hooks
- Application deployment
- It is one of the most up-to-date programs in modern web development.
- It teaches the most in-demand stack today.
- It includes unit testing, integration, end-to-end testing, and cloud deployment.
- It is based on real projects that integrate frontend, backend, and databases.
- Good programming skills.
- Basic knowledge of web programming and databases.
- Basic knowledge of Git and version control.
- Perseverance and the ability to solve problems and search for information independently.
In addition, fluency in a programming language is recommended, which usually requires 100–200 hours of practice beforehand.
This repository contains the complete course (Parts 0 to 7) with all my projects completed to finish the exercises (138 exercises in total).
Result:
- Full Stack Open Certificate – View certificate
- Highest grade: Grade 5
- Credits earned: 7 ECTS
- Total workload: ~145 hours
This part provides an overview of the basic concepts of web development and analyzes advances in web application development over the last few decades.
See Part 0
Total hours: 6
The React library for building interfaces in the browser is introduced.
Key features of JavaScript necessary for working with React are also reviewed:
- Components
- Event handlers
- State management
- Application debugging
See Part 1
Total hours: 15
You will learn how to:
- Represent data collections
- Manage forms in React
- Obtain and manage data from a remote backend server
- Style components with CSS
See Part 2
Total hours: 15
Implementation of a REST API using Node.js + Express, with storage in MongoDB.
- Data validation
- Error handling
- Deployment of the application on the internet
- Use of ESLint to maintain code quality
See Part 3
Total hours: 22
- Unit and integration testing for the backend
- Token-based authentication and authorization (JWT)
- User management with Mongoose
- Use of async/await and error handling
See Part 4
Total hours: 20
We return to the frontend to:
- Implement token-based authentication
- Save and manage the token in local storage
- Use
props.childrenand PropTypes - Unit testing with Vitest
- Integration testing
- E2E testing with Playwright
See Part 5
Total hours: 25
- Flux pattern and Redux library
- Redux Toolkit
- Using multiple reducers and communicating with the server
- Global state management with React Query and React Context
- Using Redux to communicate with the server
useReducerhook
See Part 6
Total hours: 20
- Using React Router for navigation and dynamic routes
- Creating custom hooks
- Styles with fram
See Part 7
Total hours: 22