# T08 Izveštaj: HTTP server + API za taskove **Agent:** coder **Model:** Opus **Datum:** 2026-02-20 --- ## Šta je urađeno Implementiran HTTP server sa Gin framework-om i dashboard: ### Kreirani fajlovi | Fajl | Opis | |------|------| | `cmd/kaos-server/main.go` | Entry point za HTTP server | | `internal/server/server.go` | Server struct, API i HTML rute | | `internal/server/render.go` | HTML renderovanje (dashboard, kartice, detalj) | | `internal/server/server_test.go` | 10 testova za API i HTML | | `web/embed.go` | embed.FS za static fajlove | | `web/static/htmx.min.js` | HTMX 2.0.4 | | `web/static/sortable.min.js` | Sortable.js 1.15.6 | ### Izmenjeni fajlovi | Fajl | Izmena | |------|--------| | `internal/config/config.go` | Dodat KAOS_PORT (default 8080) | | `.env.example` | Dodat KAOS_PORT | ### API endpointi | Metod | Ruta | Opis | |-------|------|------| | GET | /api/tasks | JSON lista svih taskova | | GET | /api/task/:id | JSON task sa sadržajem fajla | | POST | /api/task/:id/move?to=X | Premesti task | | GET | / | Dashboard HTML (Kanban board) | | GET | /task/:id | Task detalj (HTMX fragment) | | POST | /task/:id/move?to=X | Premesti + vrati ažuriran HTML | ### Testovi — 10/10 PASS ``` TestAPIGetTasks PASS TestAPIGetTask PASS TestAPIGetTask_NotFound PASS TestAPIMoveTask PASS TestAPIMoveTask_NotFound PASS TestAPIMoveTask_InvalidFolder PASS TestDashboardHTML PASS TestTaskDetailHTML PASS TestTaskDetailHTML_NotFound PASS TestHTMLMoveTask PASS ``` ### Ukupno projekat: 77 testova, svi prolaze - `go vet ./...` — čist - `go build ./cmd/kaos-server/` — prolazi - `go build ./cmd/kaos-supervisor/` — prolazi