Fun project with Go, Fiber, and htmx.
Nothing in here is production ready. Copy-paste at your own risk.
Follow one of the following guides:
git clone https://github.com/peteraba/go-htmx-playground
cd go-htmx-playground
sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin
task install
- Project health
- Badges
- Process to upgrade tools
- Process to upgrade vendor libraries
- Speed improvements
- Compress
- ETag
- Server-Side Caching (IDEA)
-
CDN (IDEA)
- Interop improvements
- CORS (IDEA)
- JSON response from endpoints
- GET /movies
- POST /movies
- DELETE /movies
- GET /directors
- OpenAPI 3.x definition
- Ops improvements
- Notifications
- htmx-style (SSE?)
-
htmx-style (Websockets?) -
htmx-style (polling?) -
Load/reload on notification
- Arch changes
- Use templ
- Use urfave/cli to support multiple commands
- Use alpineJS or similar
- Harden the application
- Testing race conditions
- Fuzz testing
- Performance testing
- Authentication
- Authorization
- JWT-integration (IDEA)
- CSRF
- Encrypt Cookie (probably not relevant)
- Limiter
- Helmet
- Idempotency
- Capslock integration
- govulncheck
- OpenSSF
- Semantic Versioning
- Automatic tagging (IDEA)
- Easy releases (IDEA)
- Tooling to enforce semantic versioning
- AnalyzeMyRepo
- Integrity sums added for assets
JS goodies:
Go goodies:
- https://github.com/bugbytes-io/htmx-go-demo/blob/master/index.html
- https://github.com/donseba/go-htmx
- Templating Cheatsheet
HOT JavaScript frameworks to check:
HOT CSS frameworks to check:
- https://daisyui.com/
- https://ui.shadcn.com/
- https://cirrus-ui.netlify.app/
- https://www.radix-ui.com/
- https://picocss.com/
- https://www.patternfly.org/
- https://fomantic-ui.com/
- https://bulma.io/
- https://mantine.dev/
- https://open-props.style/
- https://vanillaframework.io/
- https://picturepan2.github.io/
- https://github.com/uikit/uikit
- https://tailwindcss.com/
- https://jenil.github.io/chota/
- https://purecss.io/
- https://tachyons.io/
- https://milligram.io/
- https://watercss.kognise.dev/
- https://andybrewer.github.io/mvp/
- https://www.blazeui.com/
Go stuff to check:
Interesting HTMX plugins:
- loading-states - helps showing/hiding load indicators
- multi-swap - helps loading replacing multiple parts of the page
- response-targets - helps displaying error responses in different elements from success responses
- web-sockets
- server-sent-events
Alternative to HTMX:
Tooling:
- go install github.com/cosmtrek/air@latest (watch)
- sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b ~/.local/bin