This repository contains my solutions and projects completed as part of the Full Stack Open course offered by the University of Helsinki.
Course website: Full Stack Open
The repository is organized into the following parts, each corresponding to different sections of the course:
-
part0: Fundamentals of Web apps
- Exercises and notes from Part 0 of the course, which introduces the basics of web development, including the fundamentals of the web, HTTP protocol, and the basics of modern web applications.
-
part1: Introduction to React
- courseinfo: A project to create a simple course information page using React, covering the basics of components, props, and state management.
- unicafe: A project for building a feedback application for a café, focusing on handling state in React and understanding how to pass data between components.
- anecdotes: A project that allows users to vote on anecdotes, demonstrating further state management in React.
-
part2: Communicating with server
- courseinfo: A continuation of the course information project from Part 1, expanding on the previous version by introducing more complex state management and REST API integration.
- phonebook: A project to build a simple phonebook application using React and Node.js. This part focuses on working with forms, REST APIs, and database integration using jsondb.
- countries: A project for displaying information about different countries, integrating external APIs to fetch data, and practicing React useEffect and handling side effects.
-
part3: Programming a server with NodeJS and Express
- phonebook: Implementation of a backend related to the previously developed front-end using Mongoose and MongoDB Cloud (Atlas) for the database, Express as server and Render for deployment on the Internet
The solutions for Part 3 can be found in a separate repository: https://github.com/lucabk/Full-Stack-Open-Part3
-
part4: Testing Express servers, user administration
- blog list: In this part, we focus on building a backend for a blog list application using Express and MongoDB. Key topics include creating RESTful APIs, implementing user authentication with JWT, using Mongoose for database handling, and writing unit and integration tests for the backend with Supertest. Additionally, middleware functions are introduced for handling token extraction, user authentication, and error handling.
-
part5: Testing React apps
- blog list: In this part, we focus on creating a frontend for the blog list application developed with TypeScript and Sequelize in Part13.
-
part6: Advanced state management
- unicafe: A simplified version of the unicafe exercise from part 1 with Redux.
- anecdote: New version of the anecdote voting application from part 1 with Redux.
- anecdote: React Query and Context.
-
part7: React router, custom hooks, styling app with CSS and webpack (in progess..)
- anecdote: New version of the anecdote voting application with React Router.
- blog list: New version of the application with Redux, React Router, comments and styling.
-
part9: TypeScript
- bmi: First steps with TS.
- half-stack: First React.ts app
- flight-diary: Simple full-stack diary app in TS
- Patientor: A full-stack project integrating TypeScript in both frontend (React) and backend (Express) for patients management.
-
part_13: Using relational databases
- Development of the blog list app backend with Express, Typescript, Docker, JWT and Sequelize