My solutions for the exercises of the University of Helsinki's Full Stack open course. This repository contains solutions from part 0 to part 9 of the course. Full stack open is an excellent introduction to modern web development. The core course consists of parts 0 to 5. After the core course, you can complete other parts in the order you want.
- This repository is a monorepo that contains multiple applications under a shared workspace using npm Workspaces.
- All apps share a single
node_modulesdirectory at the root. Common dependencies are managed at the root, while each app maintains its own specific dependencies - Run
npm installat the root then navigate to the application which you want to run.
- General Info
- Fundamentals of Web apps
- Introduction to React
- JavaScript
- Component State, event handlers
- A more complex state, debugging React apps
- Rendering a collection, modules
- Forms
- Getting data from server
- Altering data in server
- Adding style to React apps
- Node.js and Express
- Deploying app to internet
- Saving data to MongoDB
- Validation and ESLint
- Structure of backend application, introduction to testing
- Testing the backend
- User administration
- Token authentication
- Legacy: Testing with Jest
- Login in frontend
- props.children and proptypes
- Testing React apps
- End to end testing: Playwright
- End to end testing: Cypress
- Flux-architecture and Redux
- Many reducers
- Communicating with server in a Redux application
- React Query, useReducer and the context
- React Router
- Custom hooks
- More about styles
- Webpack
- Class components, Miscellaneous
- Exercises: extending the bloglist
- Introduction to GraphQL as an alternative to REST communication between browser and server.
- GraphQL allows clients to request precisely the data they need, reducing over-fetching and under-fetching, leading to more efficient and flexible APIs.
This part is all about TypeScript: an open-source typed superset of JavaScript developed by Microsoft that compiles to plain JavaScript.