The Full Stack Open course is a comprehensive exploration of the MERN stack (MongoDB, Express.js, React.js, Node.js) in modern web application development. The course provides a balanced mix of theory and practical exercises to ensure a thorough understanding of each lesson. It places a strong emphasis on ES6 features and other useful JavaScript techniques.
The course guides you through the creation of single-page applications with ReactJS that interact with REST APIs developed with Node.js. It also introduces GraphQL, a cutting-edge alternative to REST APIs. The course covers various types of testing including end-to-end testing and integration testing to ensure the robustness of the applications.
The course also delves into both NoSQL and relational databases, with practical use of MongoDB and PostgreSQL. It encompasses various aspects of web development, including testing, environment setup, and database management. This course is a great way to get hands-on experience with the full stack of web development technologies.
So, this project covers:
Part 0: Fundamentals of Web apps
Part 1: Introduction to React
- Introduction to React
- JavaScript
- Component state, event handlers
- A more complex state, debugging React apps
Part 2: Communicating with server
- Rendering a collection, modules
- Forms
- Getting data from server
- Altering data in server
- Adding styles to React app
Part 3: Programming a server with NodeJS and Express
Part 4: Testing Express servers, user administration
- Structure of backend application, introduction to testing
- Testing the backend
- User administration
- Token authentication
- Legacy: Testing with Jest
Part 5: Testing React apps
- Login in frontend
- props.children and proptypes
- Testing React apps
- End to end testing: Playwright
- End to end testing: Cypress
Part 6: Advanced state management
- Flux-architecture and Redux
- Many reducers
- Communicating with server in a Redux application
- React Query, useReducer and the context
Part 7: React router, custom hooks, styling app with CSS and webpack
- React Router
- Custom hooks
- More about styles
- Webpack
- Class components, Miscellaneous
- Exercises: extending the bloglist
Part 8: GraphQL
- GraphQL-server
- React and GraphQL
- Database and user administration
- Login and updating the cache
- Fragments and subscriptions
Part 9: TypeScript
- Background and introduction
- First steps with TypeScript
- Typing an Express app
- React with types
- Grande finale: Patientor
Part 10: React Native Not done yet!
- Introduction to React Native
- React Native basics
- Communicating with server
- Testing and extending our application
Part 11: CI/CD Not done yet!
- Introduction to CI/CD
- Getting started with GitHub Actions
- Deployment
- Keeping green
- Expanding Further
Part 12: Containers Not done yet!
Part 13: Using relational databases Not done yet!