https://github.com/dipjyotimetia/grpc-buf
gRPC services build with buf
https://github.com/dipjyotimetia/grpc-buf
Last synced: 8 months ago
JSON representation
gRPC services build with buf
- Host: GitHub
- URL: https://github.com/dipjyotimetia/grpc-buf
- Owner: dipjyotimetia
- Created: 2023-01-22T10:35:49.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-25T09:05:01.000Z (8 months ago)
- Last Synced: 2025-02-25T10:22:06.476Z (8 months ago)
- Language: Go
- Size: 569 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gRPC-buf
A modern Golang service template featuring gRPC/REST APIs using Connect, with deployment support for Google Cloud Run and event streaming capabilities.
[](go.mod)
[](LICENSE)
## Overview
gRPC-buf provides a production-ready template for building microservices with:
- đ Dual protocol support (gRPC and REST) using [connectrpc.com/connect](https://connectrpc.com)
- đŠī¸ Cloud-native deployment on Google Cloud Run
- đ¨ Event streaming with CloudEvents to Pub/Sub and Kafka
- đ ī¸ Modern development workflow with Buf for Protocol Buffers
## Features
- **API Development**
- gRPC and REST endpoints using Connect
- Automatic OpenAPI documentation
- Protocol Buffer validation and linting
- **Cloud Integration**
- Google Cloud Run deployment
- Pub/Sub integration
- Kafka support
- OpenTelemetry observability
- **Developer Experience**
- Hot reload during development
- Integrated testing framework
- Makefile automation
- Docker containerization
## Prerequisites
- Go 1.23 or later
- [Google Cloud SDK](https://cloud.google.com/sdk/docs/install)
- [Docker](https://docs.docker.com/get-docker/)
- [Buf CLI](https://docs.buf.build/installation)
## Quick Start
1. Clone the repository:
```bash
git clone https://github.com/dipjyotimetia/gRPC-buf.git
cd gRPC-buf
```
2. Install dependencies:
```bash
make setup
```
3. Generate protobuf code:
```bash
make generate
```
4. Run the service:
```bash
make run
```
## Development
```bash
# Run tests
make test
# Lint code
make lint
# Build binary
make build
# Clean up
make clean
```
## Documentation
- API Documentation
- Architecture Overview
- Deployment Guide
## Contributing
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
## License
This project is licensed under the MIT License.