Skip to content

Latest commit

 

History

History
53 lines (44 loc) · 1.77 KB

README.md

File metadata and controls

53 lines (44 loc) · 1.77 KB

Repository Top Language GitHub go.mod Go version Github Repository Size License GitHub last commit Coding all night)

CRUD API Server

Task description

Task description is in backend-job-task.md

Solution notes

  • 🏆 Fiber famework for the server with built-in logger
  • 📦 Bun ORM for repository
  • 🚀 caching frequent calls with Redis
  • ♻️ clean architecture (handler->service->repository)
  • 📖 standard Go project layout
  • 🔨 Docker-compose, Dockerfile & Makefile included
  • 🚑 Swagger included
  • 🧪 tests with mocks included (over 80% coverage)
  • 🚨 Linter coverage
  • 🦺 Github Actions with coverage check

HOWTO

Create config file in the root directory. Full list of environment variables is here docs.md, but you can use config from example:

cp app.yaml.example app.yaml

Start the database and cache server, this project includes PostgreSQL and Redis in docker containers.

make up

You are ready to test the server!

make run

If you want to seed database with mock data, you can make specific HTTP request (see API DOCS docs.md) or use a following command:

make fake

To stop the containers:

make down

Proof of work