This repository contains the completed exercises and projects for the Full Stack Open course. The course is designed to teach modern web development, focusing on technologies such as React, Node.js, Express.js, MongoDB, TypeScript, React Native, DevOps practices (CI/CD and containers), and more. It covers essential aspects of full-stack development, from frontend implementation to backend services, database management, and deployment workflows.
The Full Stack Open course is provided by the University of Helsinki and focuses on building real-world applications using cutting-edge technologies. It emphasizes hands-on learning, with a significant portion of the course dedicated to practical exercises and projects.
The repository is structured as follows:
📂 fullstack-open
├── 📂 part0 // Fundamentals of Web Apps
├── 📂 part1 // Introduction to React
├── 📂 part2 // Communicating with server
├── 📂 part3 // Node.js and Express
├── 📂 part4 // Testing backend
├── 📂 part5 // Testing frontend
├── 📂 part6 // State management with Redux
├── 📂 part7 // React router and more advanced state management
├── 📂 part8 // GraphQL
├── 📂 part9 // TypeScript
├── 📂 part10 // React Native
├── 📂 part11 // DevOps: CI/CD
├── 📂 part12 // Containers and Deployment
└── 📂 part13 // Using Relational Databases
└── 📂 playground // React Playground for practice
Each folder corresponds to a part of the course and contains its related exercises and projects.
-
Clone the repository:
git clone https://github.com/architkakkar/fullstack-open.git cd fullstack-open
-
Navigate to the specific part you want to run:
cd partX
-
Install dependencies:
npm install
-
Start the development server (for frontend projects using Vite):
npm run dev
-
For backend projects, start the server:
node server.js
-
For React Native projects, follow the specific setup instructions for running the project on your development environment.
- Frontend: React, Redux, React Native, TypeScript, Vite
- Backend: Node.js, Express.js
- Database: MongoDB, Relational Databases (e.g., PostgreSQL)
- Testing: Jest, Cypress
- State Management: Redux, React Context
- API: RESTful APIs, GraphQL
- DevOps: CI/CD pipelines, Docker containers
- Building dynamic and responsive user interfaces with React and React Native
- Managing application state effectively using Redux and React Context
- Implementing RESTful APIs and GraphQL for backend services
- Testing applications to ensure reliability
- Connecting frontend applications to backend servers and databases
- Writing scalable and type-safe code using TypeScript
- Setting up CI/CD pipelines and containerizing applications with Docker
- Deploying applications using containerization tools
- Utilizing relational databases in modern web applications
Special thanks to the University of Helsinki and the Full Stack Open team for providing such a comprehensive and free course.
Feel free to explore and contribute!