Skip to content

Repository files navigation

Full Stack open — exercise workspace

Personal solutions for Full Stack open: React, Node/Express, testing, Redux, React Router, GraphQL, and related tooling. Parts 0–8 live under partN/; parts 9–13 follow the MOOC sites linked in SUBMISSION.txt.

Prerequisites

  • Node.js (current LTS) and npm
  • MongoDB for Part 3 phonebook and Part 4 bloglist (e.g. Atlas URI or local mongod / Docker)
  • Optional: OpenWeather API key as VITE_OPENWEATHER_API_KEY for Part 2 countries

Layout

Directory Content
part0/ Fundamentals, HTML, sequence diagrams
part1/ courseinfo, unicafe, anecdotes (Vite + React)
part2/ courseinfo, phonebook (+ json-server), countries
part3/phonebook/ Express + Mongoose API; UI in frontend/
part4/bloglist/ Blog API + tests (npm test uses in-memory MongoDB)
part5/bloglist-frontend/ Blog UI; Vitest + Cypress
part6/ Redux unicafe, RTK anecdotes (+ json-server for anecdotes)
part7/routed-anecdotes/ React Router + custom hooks
part8/ Apollo GraphQL server (backend/) + React client (frontend/)

Quick commands

Install dependencies inside each app you use:

cd part1/courseinfo && npm install && npm run dev

Part 2 phonebook: in one terminal npm run server (port 3001), in another npm run dev (Vite).

Part 3 phonebook: copy part3/phonebook/.env.example to .env, set MONGODB_URI. From part3/phonebook/: npm run build:ui then npm start (default API 3001; do not run Part 2’s json-server on 3001 at the same time). For UI-only dev with hot reload, use frontend/ + npm run dev (proxy targets the API port in vite.config.js).

Part 4 + 5: set part4/bloglist/.env from .env.example, then npm start in part4/bloglist and npm run dev in part5/bloglist-frontend (frontend proxies to the blog API port in Vite config).

Part 6 anecdotes: npm run server in part6/anecdotes (port 3002), then npm run dev.

Part 8: npm start in part8/backend (see backend/.env for PORT), then npm run dev in part8/frontend.

Credits & submissions

University of Helsinki flow, exam, and MOOC parts are summarised in SUBMISSION.txt. Official material: General info.

License

Course material is CC BY-NC-SA 3.0; your own exercise code is yours—respect the course plagiarism rules when submitting.

About

The main focus is on building single page applications with ReactJS that use REST APIs built with Node.js

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages