feat: Sprint 0 — GoFiber + HTMX + TailwindCSS v4 scaffolding

- Go module: git.tukangketik.id/swanadiva/hostkeeper/v2
- GoFiber v2 server with static, template engine, middleware
- HTMX + Alpine.js (downloaded from CDN)
- TailwindCSS v4 with custom theme (Lumina System colors)
- Custom CSS: dot-grid, glassmorphism, animations, toggle, modal
- Layout template (sidebar nav + header + main)
- Dashboard page with host list, search, filter, view toggle
- Health endpoint: GET /api/health
This commit is contained in:
swanadiva
2026-07-07 12:18:39 +07:00
parent a0c8483c0e
commit 43a19b723a
16 changed files with 1369 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
package handler
import "github.com/gofiber/fiber/v2"
func Dashboard(c *fiber.Ctx) error {
return c.Render("index", fiber.Map{
"View": "hosts",
"NavItems": []fiber.Map{
{"ID": "hosts", "Label": "Hosts", "Icon": "server"},
{"ID": "terminal", "Label": "Terminal", "Icon": "terminal"},
{"ID": "sftp", "Label": "SFTP", "Icon": "folder-sync"},
{"ID": "snippets", "Label": "Snippets", "Icon": "code2"},
{"ID": "keychain", "Label": "Keychain", "Icon": "key-round"},
{"ID": "settings", "Label": "Settings", "Icon": "settings2"},
},
"Title": "Hosts",
})
}
+10
View File
@@ -0,0 +1,10 @@
package handler
import "github.com/gofiber/fiber/v2"
func Health(c *fiber.Ctx) error {
return c.JSON(fiber.Map{
"status": "ok",
"app": "hostkeeper-v2",
})
}
@@ -0,0 +1,9 @@
package middleware
import "github.com/gofiber/fiber/v2"
func ViewData() fiber.Handler {
return func(c *fiber.Ctx) error {
return c.Next()
}
}