Skip to content

Latest commit

 

History

History
136 lines (107 loc) · 4.75 KB

File metadata and controls

136 lines (107 loc) · 4.75 KB

Full Stack Open Course Solutions

Complete solutions for the Full Stack Open course from the University of Helsinki, covering all major parts of the curriculum.

📚 Course Overview

This repository contains my implementations and solutions for the Full Stack Open course, a comprehensive free online course in modern web development. The course covers everything from fundamentals to advanced topics in full-stack development.

🎯 Course Parts Completed

Part Topic Status
Part 0 Fundamentals of Web apps ✅ Complete
Part 1 Introduction to React ✅ Complete
Part 2 Communicating with server ✅ Complete
Part 3 Programming a server with Node.js and Express ✅ Complete
Part 4 Testing Express servers, user administration ✅ Complete
Part 5 Testing React apps ✅ Complete
Part 6 Advanced state management ✅ Complete
Part 7 React router, custom hooks, styling app with CSS and webpack ✅ Complete
Part 8 GraphQL ✅ Complete
Part 9 TypeScript ✅ Complete
Part 10 React Native ⏭️ Skipped
Part 11 CI/CD ✅ Complete
Part 12 Containers ✅ Complete
Part 13 Relational databases ✅ Complete

🛠️ Technologies & Tools

Frontend

  • React — UI library with functional components and hooks
  • TypeScript — Static typing for JavaScript
  • Redux — State management
  • React Router — Client-side routing
  • Vite/Webpack — Module bundling
  • CSS/SASS — Styling

Backend

  • Node.js — JavaScript runtime
  • Express — Web application framework
  • MongoDB — NoSQL database
  • PostgreSQL — Relational database
  • GraphQL — Query language and API
  • Jest — Testing framework

DevOps & Deployment

  • Docker — Containerization
  • GitHub Actions — CI/CD automation
  • Heroku/Render — Application deployment

📁 Repository Structure

├── part0/          # Fundamentals of Web apps
├── part1/          # Introduction to React
├── part2/          # Communicating with server
├── part3/          # Node.js and Express backend
├── part4/          # Server testing and user administration
├── part5/          # React app testing
├── part6/          # Advanced state management
├── part7/          # React router, custom hooks, styling
├── part8/          # GraphQL
├── part9/          # TypeScript
├── part11/         # CI/CD pipelines
├── part12/         # Docker containers
├── part13/         # Relational databases
└── README.md       # This file

🚀 Getting Started

Prerequisites

  • Node.js (v24 or higher)
  • npm or yarn
  • Docker (for containerization parts)
  • PostgreSQL (for relational database parts)

Installation

  1. Clone the repository:

    git clone https://github.com/[your-username]/fullstack-open-solutions.git
    cd fullstack-open-solutions
  2. Navigate to a specific part:

    cd part3
  3. Install dependencies:

    npm install
  4. Follow the specific README in each part directory for running and testing instructions.

📖 Course Details

Full Stack Open is maintained by the University of Helsinki and covers:

  • Modern JavaScript (ES6+)
  • Frontend frameworks (React)
  • Backend development (Express, Node.js)
  • Databases (MongoDB, PostgreSQL)
  • Advanced topics (GraphQL, TypeScript, Docker, CI/CD)
  • Testing and deployment

Official Course: fullstackopen.com

✨ Key Learnings

Through this course, I've developed skills in:

  • Building scalable full-stack web applications
  • Writing testable and maintainable code
  • Implementing modern development workflows
  • Containerizing applications with Docker
  • Setting up continuous integration and deployment pipelines
  • Working with both SQL and NoSQL databases
  • Type-safe development with TypeScript

📝 Notes

  • Part 10 (React Native) was skipped as it focuses on mobile development
  • Each part builds upon previous knowledge and includes hands-on exercises
  • Solutions follow best practices and course guidelines
  • Code is organized for clarity and educational purposes

🔗 Links

📄 License

This repository contains educational solutions for the Full Stack Open course. The course material is licensed under CC BY-NC-SA 4.0.