47 lines
No EOL
1.4 KiB
Markdown
47 lines
No EOL
1.4 KiB
Markdown
# Sample Webapplication in Go
|
|
Sample Webapplication in go, create a kind of skeleton for monolith webapplicaion. Useed to create a small MVP Project.
|
|
|
|
## Structur
|
|
Create (self contained) pkg for a group of pages. The pkg included the View and Go files for the Pages e.g. user pages.
|
|
|
|
## Including Packages
|
|
|
|
* https://github.com/go-chi/chi -> Routing and middelware
|
|
* https://github.com/go-chi/jwtauth -> For JWT Auth
|
|
* https://github.com/golang-migrate/migrate -> for mysql migration
|
|
* https://github.com/urfave/cli -> for cli commands like migration
|
|
|
|
# Features
|
|
|
|
## Global Layout
|
|
The "globale layout" is put arround each response from a pkg web response. It read the response buffer from and use the content to parse the layout.tmpl. It works via middelware
|
|
|
|
## JWT-Auth
|
|
*todo*
|
|
|
|
## Migrations
|
|
Its possitlbe to execute the migrations via `go run ./ migrate`. It execute the migration files in database/migrations/*.sql
|
|
|
|
## One Binary
|
|
Everything (include templaes and migration) can be added in one binary
|
|
|
|
## Make commands
|
|
*todo*
|
|
|
|
# Dev
|
|
|
|
|
|
Test für das entwickeln von Monolith webanwendung mit html gui in go.
|
|
|
|
Es gibt unabhängige packages im pkg ordner die eine oder mehrere seiten beinhalten können. Jedes pkg beinhaltet alles um funktionieren zu können.
|
|
|
|
Das layout gibt es einmal zentral und wird per chi middelware reingereicht.
|
|
|
|
Alles ist in einem binary
|
|
|
|
|
|
# next steps
|
|
* conifg per env
|
|
* makefile
|
|
* ci/Cd bis docker image bauen
|
|
* Hot reload while develop |