This course, which is a deep dive into modern web development, introduces modern JavaScript-based web development. The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js, Redux, MongoDB, GraphQL and Typescript. This is the repository where I store my submissions.
This repository serves as a collection of my submitted solutions for the course exercises.
I have successfully completed Parts 0 to 7 of the course.
Link to certificate: Link
Parts 8 to 13 are WIP.
This part is an overall introduction to the course, focussing on HTTP requests, the DOM and how web apps generally work.
- New Note Diagram: A sequence diagram depicting the chain of events caused by adding a note to a page
- SPA: A sequence diagram depicting the chain of events caused by opening a SPA
- New Note: A sequence diagram depicting the chain of events caused by adding a note to a SPA
Solution folder: Link
This part focuses on the React library and some JavaScript Features.
- courseinfo: A simple React Application displaying information
- unicafe: A React Application using States
- anecdotes: A React Application using multiple States
Solution folder: Link
This part focuses on how to render data collections, submitting data using React forms, and communicating with a server through JavaScript using API calls.
- courseinfo: Updating the exercise from Part 2 with better data collections
- countries: A React Application that accesses an API to display information and weather data about different countries
- phonebook: A phonebook application connected to a json-server with dynamic styling for notifications
Solution folder: Link
This part focuses on the backend with a simple REST API in Node.js using the Express library and MongoDB.
This part focuses on writing unit and integration tests using the Jest library. It also looks at implementing user authentication and authorization using JWT.
- bloglist: A backend application with the functionality of adding, updating and deleting blogs. Each functionality requires user authentication using JWT.
Solution folder: Link
This part focuses on connecting the Frontend with the Backend, as well as testing React Apps with Jest and Cypress.
- bloglist: A React Frontend application connected to the backend application of Part 4, completed with tests.
Solution folder: Link
This part focuses on moving state management to the Redux library. It looks into react-redux as well as Redux toolkit, focuses on the useSelector and useDispatch hook and also takes a quick look at the older connect system.
- unicafe-redux: A simple React app with a vanilla Redux State Management system
- redux-anecdotes: A React app using Redux Toolkit as a state management system. One of the components uses the older connect system.
Solution folder: Link
This part focuses on working with React Router v6, creating Custom Hooks and some theoretical details about styling a React App and working with Webpack
- routed-anecdotes: React Router v6 implementation in a simple React App
- country-hook: Implementation of a custom hook into one of the previous exercises
- ultimate-hook: Implementation of a custom hook to handle HTTP requests
- bloglist: Reworked application from Part 5, now using Redux and React Router
Solution folder: Link