University of Helsinki's Full Stack open course is an excellent introduction to modern web development. This repository contains my solutions from part 0 to part 10.
- This section covers the fundamental concepts of web development as well as significant developments in web application technologies over recent decades. It addresses topics including the structure of web applications, the HTTP protocol, developer tools, traditional web development approaches, AJAX, single-page applications, and commonly used JavaScript libraries.
- This part involves gaining familiarity with the React library and exploring selected JavaScript features that are essential for understanding and working with React.
- This section continues the introduction to React, focusing on data rendering, handling form submissions using HTML forms, retrieving data from a remote backend server, and applying basic CSS styling.
- This part focuses on the implementation and deployment of a basic REST API to an online environment. The application is developed using Node.js in combination with the Express library, and it stores data in a MongoDB database.
- The focus remains on backend development, with key topics including the implementation of unit and integration testing, as well as user authentication and authorization mechanisms.
- This section addresses testing in React applications and the use of token-based authentication methods.
- This section introduces the Redux library as a state management solution for React applications. Redux offers a centralized approach to managing application state, which helps simplify state updates, improve predictability, and support debugging, particularly in more complex application structures.
- This section focuses on gaining familiarity with React Router as a method for dividing an application into multiple views based on URL routing. It also covers the use of custom hooks, various approaches to styling React applications, and the role of Webpack in the build process.
- This section introduces GraphQL as an alternative to REST for communication between the browser and server. GraphQL enables clients to request exactly the data they require, thereby minimizing issues of over-fetching and under-fetching and contributing to the development of more efficient and flexible APIs.
- This section provides an introduction to TypeScript, a typed superset of JavaScript. TypeScript introduces static typing, which helps detect errors at compile time, supports code maintainability, and enhances development through improved editor and tooling support.
- This section covers building native Android and iOS applications using JavaScript and React through the React Native framework. It includes developing a mobile app from scratch while learning to render native UI components, design user interfaces, interact with a server, and test the application.
- This section covers building native Android and iOS applications using JavaScript and React through the React Native framework. It includes developing a mobile app from scratch while learning to render native UI components, design user interfaces, interact with a server, and test the application.
- This part explains how to package applications into containers to create consistent and flexible environments for development. By using containers with Node.js and React projects, we’ll simplify managing multiple services and gain hands-on experience with modern web development tools.
- This part covers relational databases (PostgreSQL), a leading open-source option. As relational databases have evolved to address scalability and incorporate NoSQL-like features, we’ll learn how to integrate them into Node.js applications.