Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/edmartt/grpc-crud
A simple gRPC server-client code with an http client for sending data
https://github.com/edmartt/grpc-crud
concurrency gin gin-gonic go golang gorm goroutine goroutines gprc openapi solid-principles swagger swaggo testing testing-framework unit-testing unittest
Last synced: about 1 month ago
JSON representation
A simple gRPC server-client code with an http client for sending data
- Host: GitHub
- URL: https://github.com/edmartt/grpc-crud
- Owner: Edmartt
- Created: 2023-11-23T07:51:47.000Z (12 months ago)
- Default Branch: dev
- Last Pushed: 2024-09-05T11:09:52.000Z (2 months ago)
- Last Synced: 2024-10-01T01:01:36.677Z (about 2 months ago)
- Topics: concurrency, gin, gin-gonic, go, golang, gorm, goroutine, goroutines, gprc, openapi, solid-principles, swagger, swaggo, testing, testing-framework, unit-testing, unittest
- Language: Go
- Homepage:
- Size: 138 KB
- Stars: 42
- Watchers: 2
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gRPC Test Server
gRPC is an implementation of RPC (remote procedure calls) originally designed by Google. It is open source and is used for communications with client-server architecture.
gRPC can use protocol buffers as an interface definition language and as a format for message exchange.
If you want to know more visit: [introduction to gRPC](https://grpc.io/docs/what-is-grpc/introduction/)
This small project is a simple CRUD in which gRPC is used to register people's data such as name, surname and email, containing the service code, in a separate package the gRPC client and also an HTTP client through which in a simple way and in JSON format the data can be sent to avoid complications configuring clients such as POSTMAN or Insomnia for gRPC.
## Requirements
- Go 1.19+
- SQLite
- http client: POSTMAN, Insomnia, cURL### Running Locally
```
git clone https://github.com/Edmartt/grpc-crud.git
```or ssh instead:
```
git clone [email protected]:Edmartt/grpc-crud.git
```browse into project directory:
```
cd grpc-crud/
```download dependencies
```
go mod tidy
```set environment variables following the [.env.example](https://github.com/Edmartt/grpc-test-server/blob/main/.env.example) file and run
```
go run main.go
```because concurrency was added for http server, now just with the above command is enough for running the whole project
#### Note
You can check api docs in: [api docs](http://localhost:8080/api/v1/swagger/index.html)