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: 2 months 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 (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2025-07-17T20:32:56.000Z (4 months ago)
- Last Synced: 2025-07-17T22:55:24.720Z (4 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: 139 KB
- Stars: 45
- 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 git@github.com: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)