KAOS/TASKS/reports/T08-report.md
djuka 04ef8e75ef T08: HTTP server + API za taskove
- Gin HTTP server sa dashboard i API endpointima
- JSON API: GET /api/tasks, GET /api/task/:id, POST /api/task/:id/move
- HTML dashboard sa Kanban prikazom (5 kolona)
- HTMX za interaktivnost (klik na task → detalj panel)
- Embedded static fajlovi (htmx.min.js, sortable.min.js)
- Config: dodat KAOS_PORT
- 10 server testova, 77 ukupno — svi prolaze
- Očišćeni duplikati taskova iz v0.1

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:10:49 +00:00

63 lines
1.7 KiB
Markdown

# 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