Frontend is the shopfront; backend is the warehouse and the staff. Let's see why you need both.
The Notes apps you built kept data in the browser (or a mock). That falls apart the moment you want:
| Frontend | Backend | |
|---|---|---|
| Runs on | the user's browser | a server (a computer you control) |
| Built with | HTML, CSS, JavaScript, React | Node/Express (or Python, Java, Go…) |
| Job | show the UI, react to clicks | store data, enforce rules, answer requests |
| Talks to | the backend, via fetch | a database; replies with JSON |
The frontend asks ("give me the notes"), the backend answers (reads the database, sends JSON back). That request/response conversation is the entire relationship — and it's what you'll build next.
fetch sends HTTP requests to the backend's API and receives JSON replies.