- 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>
63 lines
1.7 KiB
Markdown
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
|