A simple Golang application which
- exposes API end points
- support gRPC
- built with buffalo framework
- basic authentication
- postgres database
The first thing you need to do is open up the "database.yml" file and edit it to use the correct usernames, passwords, hosts, etc... that are appropriate for your environment.
You will also need to make sure that you start/install the database of your choice. Buffalo won't install and start postgres for you.
Ok, so you've edited the "database.yml" file and started postgres, now Buffalo can create the databases in that file for you:
$ buffalo db create -a
$ buffalo pop migrate
$ buffalo task db:seed:wc
$ buffalo routes
Buffalo ships with a command that will watch your application and automatically rebuild the Go binary and any assets for you. To do that run the "buffalo dev" command:
$ buffalo dev
$ curl localhost:3000 -H 'ClientID: user001' -H 'PassKey: pass001'
This application is running a simple gRPC server in port 50051.
$ cd grpc-client
$ go run run-client.go
If you point your browser to http://127.0.0.1:3000 you should see a "Welcome to Buffalo!" page.
Congratulations! You now have your Buffalo application up and running.