This shows you the differences between two versions of the page.
|
isi:laboratoare:06 [2025/11/09 23:24] alexandru.predescu |
isi:laboratoare:06 [2025/11/15 10:58] (current) alexandru.predescu |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Laboratorul 06. Arhitectura client-server ===== | + | ===== Laboratorul 06. Arhitectura client-server. Python Flask ===== |
| ==== Obiective laborator ==== | ==== Obiective laborator ==== | ||
| Line 119: | Line 119: | ||
| * **404 Not Found**: Resursa nu există | * **404 Not Found**: Resursa nu există | ||
| * **500 Internal Server Error**: Eroare pe server | * **500 Internal Server Error**: Eroare pe server | ||
| + | |||
| + | ==== Plan Laborator ==== | ||
| === Setup === | === Setup === | ||
| Line 228: | Line 230: | ||
| === Task === | === Task === | ||
| - | Completati **TO DO**-urile din scheletul de cod, acestea sunt **self explanatory**. Scopul acestora este sa intelegeti cum sa interactionati cu o baza de date prin intermediul unui **server**. Prin aceste metode numite **endpoint-uri** puteti realiza comunicarea dintre client si server. | + | Completati **TO DO**-urile din scheletul de cod, acestea sunt **self explanatory**. Pentru paginare, puneti doi parametri: page (numarul paginii) si limit (numar de inregistrari per pagina). Scopul acestora este sa intelegeti cum sa interactionati cu o baza de date prin intermediul unui **server**. Prin aceste metode numite **endpoint-uri** puteti realiza comunicarea dintre client si server. |
| <note tip> | <note tip> | ||
| **Urmăriți comentariile din schelet** și tutorialul Flask-SQLAlchemy [[https://flask-sqlalchemy.readthedocs.io/en/stable/quickstart/|Quick Start]] pentru a implementa operațiile cu baza de date necesare pentru implementarea funcționalităților de lucru cu datele. Alternativ, folosiți direct biblioteca [[https://docs.python.org/3/library/sqlite3.html|sqlite3]] (vezi exemple în scheletul de cod) pentru a interoga baza de date folosind sintaxă SQL. | **Urmăriți comentariile din schelet** și tutorialul Flask-SQLAlchemy [[https://flask-sqlalchemy.readthedocs.io/en/stable/quickstart/|Quick Start]] pentru a implementa operațiile cu baza de date necesare pentru implementarea funcționalităților de lucru cu datele. Alternativ, folosiți direct biblioteca [[https://docs.python.org/3/library/sqlite3.html|sqlite3]] (vezi exemple în scheletul de cod) pentru a interoga baza de date folosind sintaxă SQL. | ||
| Line 299: | Line 301: | ||
| - | === [Q&A] === | + | ==== [Q&A] ==== |
| == De ce trecem de la Firebase la Flask? == | == De ce trecem de la Firebase la Flask? == | ||
| Line 350: | Line 352: | ||
| * Planifici să scalezi aplicația | * Planifici să scalezi aplicația | ||
| * Vrei să înveți cum funcționează cu adevărat un backend | * Vrei să înveți cum funcționează cu adevărat un backend | ||
| + | |||
| + | |||
| + | ==== Resurse Utile ==== | ||
| + | |||
| + | == Documentație == | ||
| + | |||
| + | * [Flask Official Docs](https://flask.palletsprojects.com/) | ||
| + | * [Flask-SQLAlchemy Quickstart](https://flask-sqlalchemy.readthedocs.io/en/stable/quickstart/) | ||
| + | * [HTTP Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) | ||
| + | * [REST API Best Practices](https://restfulapi.net/) | ||
| + | |||
| + | == Tutoriale Video == | ||
| + | |||
| + | * [Flask Tutorial for Beginners](https://www.youtube.com/watch?v=Z1RJmh_OqeA) | ||
| + | * [Building a REST API with Flask](https://www.youtube.com/watch?v=s_ht4AKnWZg) | ||
| + | |||
| + | == Cheat sheets == | ||
| + | |||
| + | * [Flask Cheat Sheet](https://s3.us-east-2.amazonaws.com/prettyprinted/flask_cheatsheet.pdf) | ||
| + | * [SQLAlchemy Cheat Sheet](https://www.pythonsheets.com/notes/python-sqlalchemy.html) | ||