2021-11-08 01:34:32 +00:00
# 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.
2021-11-08 01:25:36 +00:00
## 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
2021-11-09 16:28:26 +00:00
* https://github.com/unrolled/render -> render json and html
2021-11-22 22:11:37 +00:00
* https://github.com/jmoiron/sqlx -> SQL Connection
2021-11-09 16:28:26 +00:00
2021-11-03 01:18:09 +00:00
2021-11-08 01:34:32 +00:00
# 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
2021-11-09 16:20:18 +00:00
* 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
2021-11-08 01:34:32 +00:00
2021-11-09 16:28:26 +00:00
# Next Steps
* conifg per env
* argument config?
2021-11-09 18:23:19 +00:00
* make nice user register and login page
* make nice readme.md