My solutions for the exercises of the University of Helsinki's Full Stack Open course. This repository contains my submissions for the entire course (Parts 0–13).
Full Stack Open is an excellent introduction to modern web development. The core course consists of parts 0 to 5. After the core course, I will be completing the advanced extensions including Relational Databases and CI/CD.
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.
Getting familiar with React router, custom hooks, different ways to style React applications, and webpack.
Introduction to GraphQL as an alternative to REST communication between browser and server.
Introduction to TypeScript, a typed superset of Javascript that offers static typing and better tooling.
Building native Android and iOS mobile applications using JavaScript and React.
Introduction to Continuous Integration and Continuous Deployment (CI/CD) systems like GitHub Actions.
Packaging applications into containers using Docker for easier development and deployment.
Using relational databases like PostgreSQL with Sequelize.
| Part | Topic | Status | Exercises |
|---|---|---|---|
| 0 | Fundamentals of Web apps | ✅ Done | 6/6 |
| 1 | Introduction to React | ⬜ Pending | - |
| 2 | Communicating with server | ⬜ Pending | - |
| 3 | Programming a server with NodeJS and Express | ⬜ Pending | - |
| 4 | Testing Express servers, user administration | ⬜ Pending | - |
| 5 | Testing React apps | ⬜ Pending | - |
| 6 | Advanced state management | ⬜ Pending | - |
| 7 | React router, custom hooks, styling | ⬜ Pending | - |
| 8 | GraphQL | ⬜ Pending | - |
| 9 | TypeScript | ⬜ Pending | - |
| 10 | React Native | ⬜ Pending | - |
| 11 | CI/CD | ⬜ Pending | - |
| 12 | Containers | ⬜ Pending | - |
| 13 | Relational Databases | ⬜ Pending | - |