The big picture
Almost every app you'll build is made of four parts that talk to each other:
- Frontend — what the user sees and clicks. The screens, buttons, and text inside a browser or phone app.
- Backend — the logic that runs on a server you control. It enforces the rules, does the work, and decides who's allowed to do what.
- Database — where information lives so it's still there tomorrow. Accounts, posts, orders.
- Hosting — the computers, somewhere out in the world, that actually run all of the above so other people can reach it.
Here's how they connect:
┌──────────────┐ request ┌──────────────┐ query ┌──────────────┐
│ │ ─────────────────────▶ │ │ ──────────────────▶ │ │
│ FRONTEND │ │ BACKEND │ │ DATABASE │
│ (browser) │ ◀───────────────────── │ (server) │ ◀────────────────── │ (storage) │
│ │ response │ │ rows │ │
└──────────────┘ └──────────────┘ └──────────────┘
what you see the rules + logic where data lives
└──────────────────────────── all of this runs on HOSTING ───────────────────────────────────┘
The frontend never talks to the database directly. It always goes through the backend, where the rules live. That single fact explains a lot about how apps are built — and why "just let the page read the database" is almost never the answer.