# 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 * build -> Build webapp * init-dev -> Start docker copose * run-dev -> Run Webapp with reload if someting is change (air) ## Docker Image https://hub.docker.com/r/kekskurse/go-sample-webpage # 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