To start this project you need to have go installed with all the modules mentioned in the project. You will also need to install etcd and goreman to utilize the raft storage option in the project.
You will need to install the golang plugins for protobuf messages and grpc.
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latestRun the ./gen-model.sh shell script found in the root directory to generate the stub codes from the proto files.
execute the following commands to start the application
go run web/web.goThe above command will start the webserver which will render our html pages from the locally stored go template files (gtpl) using handler functions written in the same module.
cd cmd/web
go run web.goThe above command will start the backend server which will communicate to the webserver through grpc using protobuf files found in the model directory.
goreman -f Procfile startThe above command will start an etcd cluster of three nodes with endpoints mentioned in the Procfile.
Note - Make sure to edit the procfile to reflect the correct path to the etcd binary.