Skip to content

JavaHutt/crud-api

Repository files navigation

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

About

Simple CRUD API using Fiber and Bun

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published