Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bookpanda/mygraderlist-backend

Backend microservice for MyGraderList
https://github.com/bookpanda/mygraderlist-backend

clean-architecture golang grpc microservices

Last synced: about 1 month ago
JSON representation

Backend microservice for MyGraderList

Awesome Lists containing this project

README

        

# MyGraderList Backend

MyGraderList is a web app that lets students assess the difficulties and worthiness of each DSA grader problem in their respective courses.

MyGraderList Backend handles the business logic of the MyGraderList app i.e. CRUD operations for the problems' ratings, likes and emojis.

## Technologies

- golang
- gRPC
- gorm
- mysql
- redis

## 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` and paste it in the same directory with `.example` removed from its name.
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 ./...`