2.7 KiB
GOTHKIT
Create interactive applications with Golang, HTMX, and Templ
The project (for now) is in the experimental phase.
Table of content
- GOTHKIT
- Installation
- Getting started
- Migrations
- Creating views with Templ
- Validations
- Testing
- Create a production release
Installation
go install github.com/anthdm/gothkit@master
After installation you can create a new project by running:
gothkit [myprojectname]
You can now navigate to your project:
cd [myprojectname]
Getting started
Application structure
assets
conf
db
events
handlers
types
views
Development server
You can run the development server with the following command:
make dev
Hot reloading the browser
Hot reloading is configured by default when running your application in development.
NOTE: on windows or on in my case (WSL2) you might need to run
make watch-assets
in another terminal to watch for CSS and JS file changes.
Migrations
Create a new migration
make db-mig-create add_users_table
The command will create a new migration SQL file located at app/db/migrations/add_users_table.sql
Migrate the database
make db-up
Reset the database
make db-reset
Seeds
make db-seed
This command will run the seed file located at cmd/scripts/seed/main.go
Creating views with Templ
Gothkit uses Templ as its templating engine. Templ allows you to create type safe view components that renders fragments of HTML. In-depth information about Templ can be found here: Templ documentation
Validations
todo
Testing
Testing handlers
Create a production release
Gothkit will compile your whole application including its assets into a single binary. To build your application for production you can run the following command:
make build
This will create a binary file located at /bin/app_prod
.
Make sure you also set the correct application environment variable in your .env
file.
APP_ENV = production