My solutions for the exercises of the University of Helsinki's Full Stack open course. This repository contains solutions from part 0 to part 9 of the course. Full stack open is an excellent introduction to modern web development. The core course consists of parts 0 to 5. After the core course, you can complete other parts in the order you want.
- The basics of web development and also the advances in web application development during the last few decades. It includes topics such as web application structure, HTTP protocol, developer tools, traditional web applications, AJAX, single-page apps and JavaScript libraries.
- Familiarizing with the React-library and some features of JavaScript that are important for understanding React.
- Continuation of the introduction to React. It includes data rendering, data submit with HTML forms, fetching data from remote backend server and simple CSS styles.
- Focuses on implementing and deploying a simple REST API to the internet. The application is developed by using Node.js and the Express library. The application data is stored in a MongoDB database.
- The focus is still on the backend and the key topics are writing unit and integration tests and the implementing of user authentication and authorization.
- Deals with React code testing and token based authentication.
- Introduction to Redux library as a solution for managing the state of the React applications. Redux provides a centralized state management solution, simplifying state updates, enhancing predictability, and facilitating debugging in complex React applications.
- Getting familiar with React router as a way to divide the application into different views that are based on the URL. Also deals with custom hooks, different ways to style React applications and webpack.
- Introduction to GraphQL as an alternative to REST communication between browser and server. GraphQL allows clients to request precisely the data they need, reducing over-fetching and under-fetching, leading to more efficient and flexible APIs.
- Introduction to TypeScript that is a typed superset of Javascript. TypeScript offers static typing, enhancing code quality by catching errors at compile-time, improving code maintainability, and enabling better IDE support.
Part | Status | Exercises |
---|---|---|
0 | Done | 6/6 |
1 | Done | 14/14 |
2 | Done | 20/20 |
3 | Done | 22/22 |
4 | Done | 23/23 |
5 | Done | 23/23 |
6 | Done | 24/24 |
7 | Done | 21/21 |
8 | In Progress | 23/26 |
9 | Done | 29/29 |