Changes between Initial Version and Version 1 of ApplicationDevelopment


Ignore:
Timestamp:
09/30/25 14:12:44 (3 weeks ago)
Author:
223075
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ApplicationDevelopment

    v1 v1  
     1= Развој на апликација (App Development) =
     2
     3Овде докажуваме дека апликацијата ги користи DB можностите (погледи, транскации, складирани функции, индекси) преку HTTP рути.
     4
     5== Нови/важни рути ==
     6
     7=== Транскација + функција ===
     8**POST** `/api/book-class`
     9- Body (JWT или userId во body): `{"classId":7}` или `{"userId":12,"classId":7}`
     10- Користи `BEGIN/COMMIT` и `SELECT book_class($1,$2)`.
     11
     12Пример очекуван одговор:
     13{{{
     14{ "success": true, "code": "OK" }
     15}}}
     16или:
     17{{{
     18{ "success": false, "code": "CLASS_FULL" }
     19}}}
     20
     21=== Извештаи од погледи (Views) ===
     22**GET** `/api/reports/top-spenders`  → vw_user_spend 
     23**GET** `/api/reports/class-utilization` → vw_class_utilization 
     24**GET** `/api/reports/training-pop-monthly` → vw_training_pop_monthly
     25
     26*Паст кратки извадоци од JSON излезите при тестирање.*
     27
     28=== EXPLAIN/ANALYZE преку апликацијата ===
     29**GET** `/api/debug/explain-events` 
     30**GET** `/api/debug/explain-class-join`
     31
     32*3–5 линии од `plan` каде се гледа "Index Scan" и името на индексот.*
     33
     34== Како тестираме ==
     351. Стартуваме backend:
     36{{{
     37cd backend
     38node index.js
     39}}}
     402. Потоа отвораме во прелистувач / Postman:
     41- http://localhost:5000/api/reports/top-spenders
     42- http://localhost:5000/api/debug/explain-events
     43- POST http://localhost:5000/api/book-class (со Body)