Welcome to my Full Stack Open course repository! This serves as my learning journey through the comprehensive full-stack web development course.
- Course: Full Stack Open
- University: University of Helsinki
- Focus: Modern JavaScript-based web development
This repository is organized by course parts, each focusing on different aspects of full-stack development:
- Web application fundamentals
- HTTP protocol
- Single Page Applications (SPA)
- Current Status: ✅ Completed
- React basics
- JavaScript fundamentals for React
- Component state and event handlers
- Current Status: ✅ Completed
- Rendering collections and forms
- Server communication
- Adding styles to React apps
- Current Status: ✅ Completed
- Node.js and Express
- REST APIs
- Data storage with MongoDB
- Current Status: ✅ Completed
- Testing backend applications
- User authentication and authorization
- Testing frontend applications
- Custom hooks
- Flux architecture and Redux
- React Query and context management
- React Router
- Custom hooks
- UI libraries and webpack
- GraphQL server
- React and GraphQL client
- Database and user management
- TypeScript fundamentals
- React with TypeScript
- Patientor frontend and backend
- React Native fundamentals
- Routing and communication with server
- Testing and extending our application
- Continuous Integration and Deployment
- GitHub Actions
- Monitoring and performance
- Docker fundamentals
- Orchestration with Docker Compose
- Development with containers
- PostgreSQL and Sequelize
- Migrations and many-to-many relationships
├── part0/ # Fundamentals of Web apps
├── part1/ # Introduction to React
├── part2/ # Communicating with server
├── part3/ # Programming a server with NodeJS and Express
├── part4/ # Testing Express servers, user administration
├── part5/ # Testing React apps
├── part6/ # Advanced state management
├── part7/ # React router, custom hooks, styling
├── part8/ # GraphQL
├── part9/ # TypeScript
├── part10/ # React Native
├── part11/ # CI/CD
├── part12/ # Containers
├── part13/ # Using relational databases
├── notes/ # Course notes and summaries
├── examples/ # Practice examples and experiments
└── resources/ # Useful resources and references
- Part 0: Completed ✅
- Exercise 0.1: HTML
- Exercise 0.2: CSS
- Exercise 0.3: HTML forms
- Exercise 0.4: New note diagram
- Exercise 0.5: Single page app diagram
- Exercise 0.6: New note in Single page app diagram
- Part 1: Completed ✅
- Exercise 1.1-1.2: Course information (courseinfo)
- Exercise 1.3-1.5: Course information refactoring
- Exercise 1.6-1.11: Unicafe feedback app
- Exercise 1.12-1.14: Anecdotes app
- Part 2: Completed ✅
- Exercise 2.1-2.5: Course information (courseinfo)
- Exercise 2.6-2.17: Phonebook app with server communication
- Exercise 2.18-2.20: Countries data app
- Part 3: Completed ✅
- Implemented persistence for
part3/persons-backend(writesdata.jsonon POST and DELETE) - Fixed id handling and validation in
part3/persons-backend/index.js
- Implemented persistence for
- Part 4: Not started
- Part 5: Not started
- Part 6: Not started
- Part 7: Not started
- Part 8: Not started
- Part 9: Not started
- Part 10: Not started
- Part 11: Not started
- Part 12: Not started
- Part 13: Not started
- React
- HTML5/CSS3
- JavaScript ES6+
- TypeScript (Part 9+)
- React Native (Part 10)
- Node.js
- Express.js
- REST APIs
- GraphQL (Part 8)
- PostgreSQL (Part 13)
- Git
- npm/yarn
- Jest (Testing)
- Docker (Part 12)
- CI/CD pipelines (Part 11)
Each part contains its own setup instructions. Navigate to the specific part directory to get started with exercises.
Learning Journey Started: September 2025
Last Updated: 19 November 2025
Current Focus: Part 4 - Testing Express servers, user administration
Estimated Completion: TBD