Task description is in backend-job-task.md
- 🏆 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
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