superkit/README.md

2.7 KiB

GOTHKIT

Create interactive applications with Golang, HTMX, and Templ

The project (for now) is in the experimental phase.

Table of content

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