Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Helsinki

Full Stack Open

University of Helsinki via Independent

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Learn React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go! This course will introduce you to modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js.

Syllabus

Part 0
  • Fundamentals of Web apps
In this part, we will familiarize ourselves with the practicalities of taking the course. After that we will have an overview of the basics of web development, and also talk about the advances in web application development during the last few decades.Part 1
  • Introduction to React
In this part, we will familiarize ourselves with the React-library, which we will be using to write the code that runs in the browser. We will also 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.Part 3
  • Programming a server with NodeJS and Express
In this part our focus shifts towards the backend, that is, towards implementing functionality on the server side of the stack. We will 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, we will deploy our application to the internet.Part 4
  • Testing Express servers, user administration
In this part, we will continue our work on the backend. Our first major theme will be writing unit and integration tests for the backend. After we have covered testing, we will take a look at implementing user authentication and authorization.Part 5
  • Testing React apps
In this part we return to the frontend, first looking at different possibilities for testing the React code. We will also implement token based authentication which will enable users to log in to our application.Part 6
  • State management with Redux
So far, we have placed the application's state and state logic directly inside React components. When applications grow larger, state management should be moved outside React components. In this part, we 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
The seventh part of the course touches on several different themes. First, we'll get familiar with React router. React router helps us divide the application into different views that are shown based on the URL in the browser's address bar. After this, we'll look at a few more ways to add CSS styles to React applications. During the entire course, we've used create-react-app to generate the body of our applications. This time, we'll take a look under the hood: we'll learn how Webpack works and how we can use it to configure the application ourselves. We shall also have a look at hook functions and how to define a custom hook.Part 8
  • GraphQL
This part of the course is about GraphQL, Facebook's alternative to REST for communication between browser and server.Part 9
  • TypeScript
This part is all about TypeScript: an open-source typed superset of JavaScript developed by Microsoft that compiles to plain JavaScript.In this part, we will be using the tools previously introduced to build end-to-end features to an existing ecosystem with linters predefined and an existing codebase writing TypeScript. After doing this part, you should be able to understand, develop and configure projects using TypeScript.This part is created by Tuomo Torppa, Tuukka Peuraniemi and Jani Rapo, the awesome developers of Terveystalo, the largest private healthcare service provider in Finland. Terveystalo’s nationwide network covers 300 locations across Finland. The clinic network is supplemented by 24/7 digital services.Part 10
  • React Native
In this part, we will learn how to build native Android and iOS mobile applications with JavaScript and React using the React Native framework. We will dive into the React Native ecosystem by developing an entire mobile application from scratch. Along the way, we will learn concepts such as how to render native user interface components with React Native, how to create beautiful user interfaces, how to communicate with a server, and how to test a React Native application.Part 11
  • CI/CD
So you have a fresh feature ready to be shipped. What happens next? Do you upload files to a server manually? How do you manage the version of your product running in the wild? How do you make sure it works, and roll back to a safe version if it doesn’t?Doing all the above manually is a pain and doesn’t scale well for a larger team. That’s why we have Continuous Integration / Continuous Delivery systems, in short CI/CD systems. In this part, 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.This module was crafted by the Engineering Team at Smartly.io. At Smartly.io, we automate every step of social advertising to unlock greater performance and creativity. We make every day of advertising easy, effective, and enjoyable for more than 650 brands worldwide, including eBay, Uber, and Zalando. We are one of the early adopters of GitHub Actions in wide-scale production use. Contributors: Anna Osipova, Anton Rautio, Mircea Halmagiu, Tomi Hiltunen.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.This section has been created by Jami Kousa in collaboration with the Helsinki-based Services Foundation team at Unity. The Services Foundation team works on providing platforms for other teams at Unity to succeed in their mission of building great services for their customers. The team is passionate about improving Unity’s developer experience and works on tools like the Unity Dashboard, the Unity Editor, and Unity.com.Part 13
  • Using relational databases
In the previous sections of the course we used MongoDB for storing data, which is a so called NoSQL database. NoSQL databases became very common just over 10 years ago, when the scaling of the internet started to produce problems for relational databases that utilized the older generation SQL query language.Relational databases have since then experienced a new beginning. Problems with scalability have been partially resolved and they have also adopted some of the features of NoSQL databases. In this section we explore different NodeJS applications that use relational databases, we will focus on using the database PostgreSQL which is the number one in the open source world.English translation of this part is by Aarni Pavlidi.

Taught by

Matti Luukkainen, Kalle Ilves, and Jami Kousa

Reviews

4.7 rating, based on 44 Class Central reviews

Start your review of Full Stack Open

  • I recently completed the Full Stack Open course offered by the University of Helsinki, and I found it to be an exceptional learning experience. The course covers a wide range of topics, including React, Node.js, and GraphQL, making it comprehensive for anyone looking to enhance their full-stack development skills. The hands-on projects are particularly beneficial, as they allow you to apply what you've learned in real-world scenarios. The course is well-structured, with clear explanations and a supportive community for assistance. I highly recommend it to anyone interested in full-stack development!
  • Really loved taking this course, even though it's in another country - it's very applicable and thorough. had a lot of fun learning react, connecting to the server, Nodejs with express, testing, graphql, typescript, react native, and even using databases!
  • Profile image for SUNNY ABHISHEK
    SUNNY ABHISHEK
    3
    Full Stack open 2022 by University of Helsinki offers an unparalleled journey into the world of full stack development, providing an extensive and well-structured curriculum that caters to both beginners and experienced developers alike. One of the…
  • very good course i learn about frontend langauge HTML5 CSS3 Javascript React js and backend with node js express js and database with mongoDB and mysql relational database its very good course
  • The development training was extremely valuable. It delivered a comprehensive understanding of both front-end and back-end technologies, with hands-on projects that solidified the concepts. The instructor provided detailed explanations and answered questions with expertise. I now feel confident in my ability to work on real-world applications as a direct result of this course. I strongly recommend it to anyone determined to advance their development skills.
  • Profile image for SHAIK Nisar
    SHAIK Nisar
    2
    I successfully completed the Full Stack Open course offered by the University of Helsinki independently. This comprehensive program deepened my understanding of modern web development with JavaScript, focusing on React, Node.js, Express, and MongoDB. It emphasized practical, hands-on learning through challenging assignments that covered REST APIs, authentication, GraphQL, testing, CI/CD, and containerization with Docker. Completing the course strengthened my skills in building full-stack applications and improved my problem-solving abilities in real-world development scenarios. Taking this course independently showcased my self-discipline, dedication to continuous learning, and passion for modern web technologies and best practices.
  • Anonymous
    The Full Stack Open course is very comprehensive and well-structured. It covers modern web development technologies like React, Node.js, GraphQL, and TypeScript in a practical way. The exercises are challenging but rewarding, and they help reinforce the concepts. I really like how the course emphasizes real-world projects and industry best practices. Highly recommended for anyone who wants to become a full stack developer.
  • What I enjoyed the most in the course: Course was very practical - it introduced many npm packages, browser extensions and Node scripts, VSCode editor plugins and programming practices that ease the development.
  • SIVANANDHAN
    I recently completed a full stack development course and it was a very valuable learning experience. The course covered front-end technologies like HTML, CSS, and JavaScript, as well as back-end development and database concepts. The explanations were clear and beginner-friendly. Practical projects helped me understand real-world application development. I improved my problem-solving skills and gained confidence in building complete web applications from scratch. The hands-on coding sessions were especially useful. Overall, this course strengthened my technical foundation and prepared me for real industry projects and future career opportunities in web development.
  • Profile image for Vikash Shakya
    Vikash Shakya
    1
    This course is very usefull and benefial for beginners to understadn basics to advanced level of web developement
  • Profile image for Amar
    Amar
    5
    Full Stack Open 2022 has been a fantastic learning experience, and I highly recommend it to anyone who wants to learn full-stack web development. The course is free and offers a wealth of knowledge and resources that can help anyone build a strong foundation in web development.
  • Profile image for Shashwat Darshan
    Shashwat Darshan
    1
    The Full Stack Development course offers a well-structured and comprehensive curriculum covering both front-end and back-end technologies. The lessons are clear, with practical exercises and projects that help reinforce learning. The inclusion of modern frameworks like React and Node.js, combined with database integration, provides valuable real-world skills.

    The course could improve by including more content on testing, security, and deployment best practices to better prepare learners for professional environments. Overall, it is a great course for beginners and intermediate learners looking to build a solid foundation in full stack development.

  • Anonymous
    One of the best free courses, the content is up-to-date and of high quality. It starts from the scratch and covers almist every part of the web dev. The examples are very easy to understand and follow. Cant wait to complete it. A certificate of completion from the university and by the end of the course, you will have created an web app.
  • Anonymous
    this course is so much worth bro i finished it and i became ceo at tesla lets gooooooooooooooooooooooooo
  • Profile image for Sreevishnu
    Sreevishnu
    This course was an incredible journey that strengthened my understanding of both frontend and backend technologies — including HTML, CSS, JavaScript, React, Node.js, Express, and MongoDB. I gained hands-on experience building complete web applicatio…
  • Anonymous
    Full Stack Open is an excellent, in-depth course that truly teaches modern web development from the ground up. The exercises are practical, the materials are well-structured, and the focus on React, Node.js, and modern tooling makes it extremely relevant. It requires dedication, but the hands-on approach makes the learning experience rewarding and highly effective.
  • Profile image for Aditya Aman
    Aditya Aman
    2
    This course was absolutely great for me and my academic progress. I got to know to make designed frontend websites from React that really boosted my confidence and appreciated me to learn more in this field.
  • Anonymous
    Amazing course! The course is divided in 13 parts, it teaches you front-end using react and back-end using node.js! There's assistance through discord and telegram! Everything for free!
  • Profile image for Narmatha J
    Narmatha J
    The content is clear and easy to follow, with a logical structure that keeps the reader engaged. Adding a bit more detail in certain areas would strengthen the explanation and provide deeper insights. Including visuals or examples could also make the ideas more relatable and impactful. The tone is consistent throughout, though some variation could add more interest. Overall, this is a strong effort that can be made even better with a few enhancements.
  • Profile image for MOHAMMAD BEYRANVAND
    MOHAMMAD BEYRANVAND
    امتیاز: ۵ از ۵
    این دوره یکی از بهترین منابع آموزشی برای یادگیری توسعه فول‌استک مدرن هست. مطالب به‌روز، پروژه‌محور و کاملاً کاربردی ارائه می‌شن. تمرکز اصلی روی React، Node.js، Express، MongoDB و مفاهیم DevOps هست. نحوه آموزش به‌گونه‌ایه که حتی بدون تجربه قبلی هم می‌تونی با تلاش و تمرین به سطح خوبی برسی. تمرین‌ها چالش‌برانگیز و مفید هستن و جامعه کاربری فعالی داره که می‌تونی ازش کمک بگیری. به‌شدت توصیه می‌کنم برای کسانی که می‌خوان وارد بازار کار بشن یا مهارت‌های خودشون رو ارتقا بدن.

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.