What is Fullstackopen?
By Henri Parviainen
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
This part will cover the basics of web development and give general info about the course itself.
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
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
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
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
The "Testing React apps" part will focus on how to test React apps with Jest testing library.
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
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
This part will introduce an alternative way to communicate between client and server - GraphQL.
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
React Native part will get you familiar with making cross-platform mobile applications with React Native.
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
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
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.