This is a to-do app I made to play with the following goodies:
Because I wanted to 🤷. After a decade of doing things with React and Typescript, I wanted to poke around with Go and HTMX. I feel like 90% of the web-apps out there could be done with that stack, so I decided to experiment.
Also, I really wanted to checkout Templ, and I had to poke around a bit to figure out how to get it to work with Fiber, so I thought I could save someone else a bit of digging later.
Because I wanted to 🤷. Seriously, its not that deep. Go touch grass, nerd.
After-a-fashion. Go doesn't seem to have much of an ecosystem around E2E testing, which is what I wanted to do for this thing. I ended up picking playwright-go.
Because its 2024 (or was 2024, if you are in the FUTURE), and I don't have time for any CSS nonsense. Also, DaisyUI makes it even easier to bootstrap a quick project like this.
To install dependencies:
go mod install
bun install
To run
- Open a terminal and execute
air
- Open a second terminal and execute
bun watch
I couldn't find a good, Go-standard way to spawn the main App from within the tests, and then use that instance to run the tests, so you have to do a bit of jank to run them.
- Open a terminal and execute
MODE=test air
- Open a second terminal and execute
go test