Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thomascode92/mailing-list-service
Simple services to store emails in a (SQLite) database! JSON & gRPC services written in GO!
https://github.com/thomascode92/mailing-list-service
go golang grpc-api json-api sqlite
Last synced: 20 days ago
JSON representation
Simple services to store emails in a (SQLite) database! JSON & gRPC services written in GO!
- Host: GitHub
- URL: https://github.com/thomascode92/mailing-list-service
- Owner: ThomasCode92
- Created: 2023-01-03T11:34:12.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-06T12:09:46.000Z (almost 2 years ago)
- Last Synced: 2024-10-11T22:12:10.523Z (about 1 month ago)
- Topics: go, golang, grpc-api, json-api, sqlite
- Language: Go
- Homepage:
- Size: 26.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MailingList Microservice
This application, a Mailing list service, is written in [Go](https://go.dev/) and it utilizes some of Go's advanced features (like Goroutines, WaitGroups, ...)!
It is a project of the _[Go Programming: The Complete Developer's Guide](https://www.udemy.com/course/go-programming-golang-the-complete-developers-guide/)_ course from [ZTM](https://zerotomastery.io/).## Setup
This project requires a `gcc` compiler installed and the `protobuf` code generation tools.
### Install protobuf compiler
Install the `protoc` tool using the instructions available at [https://grpc.io/docs/protoc-installation/](https://grpc.io/docs/protoc-installation/).
Alternatively you can download a pre-built binary from [https://github.com/protocolbuffers/protobuf/releases](https://github.com/protocolbuffers/protobuf/releases) and placing the extracted binary somewhere in your `$PATH`.### Install Go protobuf codegen tools
`go install google.golang.org/protobuf/cmd/protoc-gen-go@latest`
`go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest`### Generate Go code from .proto files
```
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
Proto/mail.proto
```