Imported from hako
This commit is contained in:
parent
f8377df327
commit
8b8447213f
10 changed files with 315 additions and 0 deletions
69
README.md
69
README.md
|
@ -1,2 +1,71 @@
|
|||
# gotoolkit
|
||||
|
||||
A set of basic tools to develop Go applications.
|
||||
|
||||
## Database
|
||||
|
||||
A basic database engine to manage the connection to a database.
|
||||
|
||||
```go
|
||||
db, err := database.New("postgres://user:password@localhost:5432/dbname")
|
||||
if err != nil {
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
## Service & Servers
|
||||
|
||||
A basic way to expose servers within one service.
|
||||
|
||||
A service is the main point of the application, and it can expose multiple servers.
|
||||
Using the provided interfaces you can create a new _service_ with multiple _servers_.
|
||||
|
||||
A simple example with one single HTTP server:
|
||||
|
||||
```go
|
||||
|
||||
import "git.nakama.town/fmartingr/gotoolkit/model"
|
||||
|
||||
type httpServer struct {}
|
||||
|
||||
func (s *httpServer) IsEnabled() bool {
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *httpServer) Start(_ context.Context) error {
|
||||
return s.http.ListenAndServe()
|
||||
}
|
||||
|
||||
func (s *httpServer) Stop(ctx context.Context) error {
|
||||
return s.http.Shutdown(ctx)
|
||||
}
|
||||
|
||||
func newHttpServer() (servers.Server, error) {
|
||||
httpServer := &httpServer{}
|
||||
// http server logic
|
||||
return httpServer, nil
|
||||
}
|
||||
|
||||
func main() {
|
||||
httpServer, _ := newHttpServer()
|
||||
svc := service.New([]model.Server{server})
|
||||
svc.Start(context.Background())
|
||||
svc.WaitStop()
|
||||
}
|
||||
```
|
||||
|
||||
## Template
|
||||
|
||||
A basic template engine to render html templates.
|
||||
|
||||
```go
|
||||
//go:embed templates/*.html
|
||||
var Templates embed.FS
|
||||
// ...
|
||||
engine, _ := template.NewEngine(Templates)
|
||||
result, _ := engine.Render("template.html", struct {
|
||||
Message string
|
||||
}{
|
||||
Message: "nometokens"
|
||||
})
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue