https://github.com/bookpanda/mygraderlist-gateway
Gateway microservice for MyGraderList
https://github.com/bookpanda/mygraderlist-gateway
clean-architecture golang grpc microservices
Last synced: about 2 months ago
JSON representation
Gateway microservice for MyGraderList
- Host: GitHub
- URL: https://github.com/bookpanda/mygraderlist-gateway
- Owner: bookpanda
- Created: 2023-10-24T14:15:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-18T16:58:08.000Z (over 2 years ago)
- Last Synced: 2025-03-02T17:15:33.452Z (over 1 year ago)
- Topics: clean-architecture, golang, grpc, microservices
- Language: Go
- Homepage:
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MyGraderList Gateway
MyGraderList is a web app that lets students assess the difficulties and worthiness of each DSA grader problem in their respective courses.
MyGraderList Gateway handles the requests from the frontend and forwards them to the appropriate microservices.
## Technologies
- golang
- gRPC
- go-fiber
## Getting Started
### Prerequisites
- golang 1.21 or [later](https://go.dev)
- docker
- makefile
### Installation
1. Clone this repo
2. Copy `config.example.yaml` in
- `config`
- `service/local/auth`
- `service/local/backend`
and paste it in the same directory with `.example` removed from its name. To use Google OAuth, you need to register a new credential in [Google Cloud Console](https://console.cloud.google.com/apis/dashboard)
3. Run `go mod download` to download all the dependencies.
### Running
1. Run `docker-compose up -d`
2. Run `make server` or `go run ./src/.`
### Testing
1. Run `make test` or `go test -v -coverpkg ./... -coverprofile coverage.out -covermode count ./...`