Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alisenola/kek-backend
https://github.com/alisenola/kek-backend
Last synced: about 7 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/alisenola/kek-backend
- Owner: alisenola
- Created: 2022-11-09T12:28:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-09T12:28:25.000Z (almost 2 years ago)
- Last Synced: 2024-07-15T09:24:50.807Z (4 months ago)
- Language: Go
- Size: 112 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# REST API with golang, gin, and gorm
This project is an exemplary rest api server built with Go.See [API Spec](./api.md) (modified from [RealWorld API Spec](https://github.com/gothinkster/realworld/tree/master/api) to simplify)
API Server technology stack is
- Server code: `golang`
- REST Server: `gin`
- Database: `MySQL` with `golang-migrate` to migrate
- ORM: `gorm v2`
- Dependency Injection: `fx`
- Unit Testing: `go test` and `testify`
- Configuration management: `cobra`---
> ## Getting started
### 1. Start with docker compose
> #### build a docker image
```bash
// docker build -f cmd/server/Dockerfile -t kek-server-v2/kek-server .
$ make build-docker
```> #### run api server with mysql (see docker-compose.yaml)
```bash
// docker-compose up --force-recreate
$ make compose$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e01564708984 kek-server-v2/kek-server "kek-server --co…" 40 seconds ago Up 39 seconds 0.0.0.0:3000->3000/tcp kek-server
105cb25b6d3a mysql:8.0.17 "docker-entrypoint.s…" 40 seconds ago Up 39 seconds 0.0.0.0:5432->5432/tcp, 54320/tcp my-postgres
```> #### Check apis
Run intellij's .http files in `tools/http/sample directory`(./tools/http/sample)