This is a Go implementation for a very simple chat backend. It uses SQLite3 for storage and gRPC for the API.
- Download the OS-specific Protocol Buffers compiler from /~https://github.com/google/protobuf/releases and unpack it into /usr/local
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
export PATH=$PATH:$GOPATH/bin
go get github.com/adsouza/chat-backend
./runme.sh
will generate gRPC bindings, run all tests and start the server.
./clean.sh
will delete the generated gRPC bindings and the SQLite3 DB file.
The storage module has a SQL implementation that has been tested with SQLite3.
The logic module relies upon storage interfaces for which an implementation is available in the storage module.
The API is built using gRPC and relies upon a controller interface that is implemented by the logic module.