https://github.com/coding-chemist/deep-dive-into-modern-web-development
Learning React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go! This course will introduce you to modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js.
https://github.com/coding-chemist/deep-dive-into-modern-web-development
Last synced: 7 months ago
JSON representation
Learning React, Redux, Node.js, MongoDB, GraphQL and TypeScript in one go! This course will introduce you to modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js.
- Host: GitHub
- URL: https://github.com/coding-chemist/deep-dive-into-modern-web-development
- Owner: coding-chemist
- Created: 2025-06-29T09:24:53.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T09:29:05.000Z (7 months ago)
- Last Synced: 2025-06-29T10:28:24.704Z (7 months ago)
- Size: 2.93 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Full Stack Open: Deep Dive Into Modern Web Development
This repository contains learning materials and exercises for the "Full Stack Open" course, offered by the University of Helsinki. This course provides a comprehensive introduction to **modern JavaScript-based web development**, with a primary focus on building **Single-Page Applications (SPAs)** using **ReactJS** that interact with **REST APIs** built with **Node.js**.
## Course Overview
The course is designed to take you on a deep dive into full-stack web development, covering both client-side and server-side aspects, along with database integration.
### What is Full-Stack Web Development?
Full-stack web development, in the context of this course, refers to focusing on all "layers" of a web application: the **frontend (browser, JavaScript)**, the **backend (server)**, and often a **database layer** below the server. The course primarily uses JavaScript for both frontend and backend development (with Node.js), although using the same language across all layers is not a strict requirement for full-stack development.
## Key Technologies and Stacks Covered
The course equips you with skills in the following modern web technologies:
* **Frontend**:
* **ReactJS**: The main focus for building single-page applications.
* **Redux**: Frequently used alongside React for advanced state management.
* **JavaScript (modern)**: The core language used across the stack.
* **CSS**: For styling web applications.
* **Webpack**: Used for managing and bundling assets.
* **React Native**: Covered for mobile application development.
* **TypeScript**: Introduced for enhanced type safety and maintainability.
* **Backend**:
* **Node.js**: The JavaScript runtime environment used for server-side programming.
* **Express**: A popular Node.js library used to create web servers and REST APIs.
* **GraphQL**: An alternative to REST for API development.
* **Databases**:
* **MongoDB**: A NoSQL database, often used with Node.js applications.
* **Relational Databases**: Covered in later parts of the course.
* **Development Practices**:
* **Testing**: Strategies for testing both Express servers and React applications are taught.
* **CI/CD (Continuous Integration/Continuous Deployment)**: Modern software delivery practices.
* **Containers**: Principles of containerization for deploying applications.
## Course Structure (Parts)
The course is divided into several parts, each focusing on specific aspects of web development:
* **Part 0: Fundamentals of Web apps** – Introduces basic web development principles, including the HTTP protocol, client-server communication, traditional web applications, AJAX, the Document Object Model (DOM), and CSS.
* **Part 1: Introduction to React**
* **Part 2: Communicating with server**
* **Part 3: Programming a server with NodeJS and Express**
* **Part 4: Testing Express servers, user administration**
* **Part 5: Testing React apps**
* **Part 6: Advanced state management**
* **Part 7: React router, custom hooks, styling app with CSS and webpack**
* **Part 8: GraphQL**
* **Part 9: TypeScript**
* **Part 10: React Native**
* **Part 11: CI/CD**
* **Part 12: Containers**
* **Part 13: Using relational databases**