= Развој на апликација (App Development) = Овде докажуваме дека апликацијата ги користи DB можностите (погледи, транскации, складирани функции, индекси) преку HTTP рути. == Важни рути == === Транскација + функција === **POST** `/api/book-class` - Body (JWT или userId во body): `{"classId":7}` или `{"userId":12,"classId":7}` - Користи `BEGIN/COMMIT` и `SELECT book_class($1,$2)`. Пример очекуван одговор: {{{ { "success": true, "code": "OK" } }}} или: {{{ { "success": false, "code": "CLASS_FULL" } }}} === Извештаи од погледи (Views) === **GET** `/api/reports/top-spenders` → vw_user_spend **GET** `/api/reports/class-utilization` → vw_class_utilization **GET** `/api/reports/training-pop-monthly` → vw_training_pop_monthly *ќе додадам кратки извадоци од JSON излезите при тестирање.* === EXPLAIN/ANALYZE преку апликацијата === **GET** `/api/debug/explain-events` **GET** `/api/debug/explain-class-join` *ќе додадам 3–5 линии од `plan` каде се гледа "Index Scan" и името на индексот* == Како тестираме == 1. Стартуваме backend: {{{ cd backend node index.js }}} 2. Потоа отвораме во прелистувач / Postman: - http://localhost:5000/api/reports/top-spenders - http://localhost:5000/api/debug/explain-events - POST http://localhost:5000/api/book-class