https://github.com/uid4oe/microservices-go-grpc
Go microservices with REST, and gRPC for demonstrating the BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" :-)
https://github.com/uid4oe/microservices-go-grpc
bff go grpc microservices mongodb react rest semantic-ui-react
Last synced: 3 months ago
JSON representation
Go microservices with REST, and gRPC for demonstrating the BFF pattern. This repository contains backend services. Everything is dockerized and ready to "Go" :-)
- Host: GitHub
- URL: https://github.com/uid4oe/microservices-go-grpc
- Owner: uid4oe
- License: mit
- Created: 2021-08-10T19:42:38.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-13T09:14:41.000Z (over 3 years ago)
- Last Synced: 2026-01-12T01:51:34.462Z (4 months ago)
- Topics: bff, go, grpc, microservices, mongodb, react, rest, semantic-ui-react
- Language: Go
- Homepage: https://go-grpc.uid4oe.dev
- Size: 2.94 MB
- Stars: 201
- Watchers: 3
- Forks: 31
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Microservices Go gRPC
[Deployed, Check it out!](https://go-grpc.uid4oe.dev/)
For more context, please read the [Medium Story](https://itnext.io/bff-pattern-with-go-microservices-using-rest-grpc-87d269bc2434) before checking the code
This repo contains microservices written in Go which aims to demonstrate BFF pattern by performing distributed CRUD operations.
See Also
- [Kotlin Spring Version](https://github.com/uid4oe/microservices-kotlin-grpc/)
- [Java Spring Version](https://github.com/uid4oe/microservices-java-grpc/)


## Installation
Clone the repository
```bash
git clone https://github.com/uid4oe/microservices-go-grpc.git
```
You should have Docker installed beforehand.
`.env` is included. You just need to create network & execute `docker-compose` command
```bash
docker network create uid4oe
docker-compose up -d
```
At this point everything should be up and running! You can access to UI at
```bash
http://localhost:3000
```
Additionally, you may take a look at [Microservices gRPC UI](https://github.com/uid4oe/microservices-grpc-ui/) for the UI code.
## Local Development
For running services in local environment, you will need a MongoDB & PostgreSQL instance, you can use `local.yml`
It will set up MongoDB, PostgreSQL and UI.
```bash
docker network create uid4oe
docker compose --file local.yml up -d
```
Now lets start microservices locally.
```bash
bash start-local.sh
```
or
```bash
start-local.bat
```
That's great. Now we can use the app through UI at
```bash
http://localhost:3000
```
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.