# Lecture 1: Frontend, backend and the request-response cycle **English** · [Dansk](Lecture-1-Backend-Overview-da) · [Bahasa Malaysia](Lecture-1-Backend-Overview-ms) ![Lecture 1: Frontend, backend and the request-response cycle](https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/054-flask/raw/branch/main/docs/images/lecture-01.png) ## What the lecture covers The lecture separates what the user sees (the frontend: HTML, CSS and JavaScript) from what the application does behind the scenes (the backend: Python, Java, Ruby and others). A backend has three parts: the client, the server and the database. A restaurant is the analogy: the dining area is the client, the kitchen is the server and the pantry is the database. In the request-response cycle the client asks, the server prepares and fetches data from the database, and the response goes back to the client. Flask is recommended for beginners and small projects; Django is the other well-known choice. ## What we gained - A vocabulary for talking about web applications: client, server, database, request, response. - A reason to choose Flask: it is small and lets us see every part of the cycle. - The knowledge that the rest of the course builds each of these parts step by step. ## In this repository The diagram is drawn from `docs/images/sources/lecture-01.html`; there is no code for this lecture.