How karlo-o/fullstackopen_course works
This repository is a set of Full Stack Open course exercises, not one integrated application. The principal workflows are small React pages: render course data, navigate and vote on anecdotes, or filter and add phonebook entries. Later phonebook work also loads people and notes from local HTTP endpoints. The graph separates these exercise stages; it does not imply they share runtime state. Relationships are limited to entry-point calls, sampled component use, and HTTP requests visible in the excerpts.
Main entry points: App.jsx HTTP phonebook · src/main.jsx Part 1A entry · src/main.jsx Part 1B entry · src/main.jsx Part 2A entry
Components 17
Course exercises
- Part 1A entry
part1/part1a/src/main.jsx - Part 1A course view
part1/part1a/src/App.jsx - Part 1B entry
part1/part1b/src/main.jsx - Part 1B course view
part1/part1b/src/App.jsx - Part 2A entry
part2/part2a/src/main.jsx - Part 2A curriculum
part2/part2a/src/App.jsx - Course renderer
part2/part2a/src/components/Course.jsx
Anecdote exercise
- Part 1D entry
part1/part1d/src/main.jsx - Anecdote voting
part1/part1d/src/App.jsx
Phonebook exercises
- Part 2B entry
part2/part2b/src/main.jsx - Local phonebook
part2/part2b/src/App.jsx - Part 2C entry
part2/part2c/src/main.jsx - HTTP phonebook
part2/part2c/src/App.jsx - Note renderer
part2/part2c/src/components/Note.jsx
Other components
- Browser user
- Notes endpoint
- Persons endpoint
Connections 16
- Browser user → Part 1A entry: opens
part1/part1a/src/main.jsx - Part 1A entry → Part 1A course view: renders
part1/part1a/src/main.jsx - Browser user → Part 1B entry: opens
part1/part1b/src/main.jsx - Part 1B entry → Part 1B course view: renders
part1/part1b/src/main.jsx - Browser user → Part 2A entry: opens
part2/part2a/src/main.jsx - Part 2A entry → Part 2A curriculum: renders
part2/part2a/src/main.jsx - Part 2A curriculum → Course renderer: renders
part2/part2a/src/App.jsx - Browser user → Part 1D entry: opens
part1/part1d/src/main.jsx - Part 1D entry → Anecdote voting: renders
part1/part1d/src/main.jsx - Browser user → Part 2B entry: opens
part2/part2b/src/main.jsx - Part 2B entry → Local phonebook: renders
part2/part2b/src/main.jsx - Browser user → Part 2C entry: opens
part2/part2c/src/main.jsx - Part 2C entry → HTTP phonebook: renders
part2/part2c/src/main.jsx - HTTP phonebook → Note renderer: renders
part2/part2c/src/App.jsx - HTTP phonebook → Notes endpoint: GET notes
part2/part2c/src/App.jsx - HTTP phonebook → Persons endpoint: GET persons
part2/part2c/src/App.jsx