What is Fullstackopen?

By Henri Parviainen

Fullstackopen

Fullstackopen is a fantastic free online course created by the University of Helsinki in co-operation with some of the industry-leading Finnish tech companies.

It will teach you the basics of modern web app development.

Who is it for?

Fullstackopen is for anyone interested to learn how modern web applications are built. I recommend having some prior experience in working with javascript and building websites with html and css before taking the course.

Currently, the course is available in four languages: Finnish, English, Chinese and Spanish.

What does it cover?

Fullstackopen will walk you through a variety of topics and the course gets an annual update every year to keep up with the fastly moving industry.

The course consists of a total of 12 parts and each will have theory and practices around the given topic.

Part 0 - Fundamentals of Web apps

Fullstackopen, part 0 - Fundamentals of web apps

This part will cover the basics of web development and give general info about the course itself.

Part 1 - Introduction to React

Fullstackopen, part 1 - Introduction to React

In this part, the course will give an introduction to modern React and take a look at some features of JavaScript that are important for understanding React.

Part 2 - Communicating with Server

Fullstackopen, part 2 - Communicating with server

Let's continue our introduction to React. First, we will take a look at how to render a data collection, like a list of names, to the screen. After this, we will inspect how a user can submit data to a React application using HTML forms. Next, our focus shifts towards looking at how JavaScript code in the browser can fetch and handle data stored in a remote backend server. Lastly, we will take a quick look at a few simple ways of adding CSS styles to our React applications. - Fullstackopen

Part 3 - Programming a server with NodeJS and Express

Fullstackopen, part 3 - Programming a server with NodeJS and Express

In this part, the course's focus shifts towards the backend. It will go through how to implement a simple REST API in Node.js by using the Express library, and the application's data will be stored in a MongoDB database. At the end of this part, you will also learn how to deploy your applications to the internet.

Part 4 - Testing Express servers, user administration

Fullstackopen, part 4 - Testing Express servers

This part will teach you how to write unit and integration tests for the backend. After testing is covered, the course will take a look at implementing user authentication and authorization.

Part 5 - Testing React Apps

Fullstackopen, part 5 - Testing React apps

The "Testing React apps" part will focus on how to test React apps with Jest testing library.

Part 6 - State Management with Redux

Fullstackopen, part 6 - State management with Redux

This part will introduce the Redux library, which is currently the most popular solution for managing the state of React applications.

Part 7 - React router, custom hooks, styling app with CSS and webpack

Fullstackopen, part 7 - React router, custom hooks, styling, webpack

This part will dive deeper into React. You will learn about routing, custom hooks, webpack, class components and styling React apps with different UI libraries and styled components..

Part 8 - GraphQL

Fullstackopen, part 8 - GraphQL

This part will introduce an alternative way to communicate between client and server - GraphQL.

Part 9 - Typescript

Fullstackopen, part 9 - Typescript

Typescript section will work as an introduction to Typescript and how to implement types and Typescript to your React and Express apps.

Part 10 - React Native

Fullstackopen, part 10 - React Native

React Native part will get you familiar with making cross-platform mobile applications with React Native.

Part 11 - CI/CD

Fullstackopen, part 11 - CI/CD

In part 11, you will gain an understanding of why you should use a CI/CD system, what can one do for you, and how to get started with GitHub Actions which is available to all GitHub users by default.

Part 12 - Containers

Fullstackopen, part 12 - Containers

In this part, we will learn how to package code into standard units of software called containers. These containers can help us develop software faster and easier than before. Along the way, we will also explore a completely new viewpoint for web development outside of the now-familiar Node.js backend and React frontend.

We will utilize containers to create immutable execution environments for our Node.js and React projects. Containers also make it easy to include multiple services with our projects. With the flexibility, we will explore and experiment with many different and popular tools by utilizing containers. - Fullstackopen

Free certificate

Fullstackopen certificate

You can get a certificate as soon as you have finished the first 3 parts of the course. The certificate will automatically update to include new parts when you finish them.

Job interview promise

Three of the fullstackopen partners have given a promise of a job interview for everyone who completes the course and the project work with maximum credits.

Find more info about it in here.

Final thoughts

I personally think that fullstackopen is the most comprehensive free online course to get a deep dive into modern web application development and there isn't anything quite like it anywhere on the internet.

I can recommend it to anyone who is already familiar with javascript and wants to learn more about web application development.

It's also a great course for someone who has been coding for a long time already, but maybe want's to upgrade their stack to cover more modern technologies.

SHARE