Skip to content

API Server Template written in Go made with Go Gin framework, GORM with support for NSQ

License

Notifications You must be signed in to change notification settings

RaymondSalim/API-server-template

Repository files navigation

API Server Template


This template is inspired by https://ldej.nl/post/enterprise-go-architecture/

Language, Libraries, and Dependencies

Purpose Name Version License
Language Go 1.18.6 BSD-3
Framework Gin 1.8.1 MIT
Configuration Access Viper 1.13.0 MIT
Mock go-sqlmock 1.5.0 BSD-3
Logging logrus 1.9.0 MIT
ORM GORM 1.23.10 MIT
API Documentation Swag 1.8.6 MIT
Message Queue Go NSQ 1.1.0 MIT

Folder Structure

├── .githooks
├── server
    ├── clients
        ├── microservice-2
    ├── constants
    ├── consumers
    ├── controller
    ├── db
    ├── error
    ├── mocks
    ├── models
        ├── request
        ├── response
    ├── repository
    ├── router
    ├── service
    ├── utils
├── build-scripts
├── config
├── database        // only migrations
├── Dockerfile
├── Dockerfile.debug
├── docs            // swagger
├── infrastructure  // docker
├── go.mod
├── go.sum
├── main.go
├── Makefile
├── README.md
├── sqlite.db
└── template.toml

Steps

  1. Run make init
  2. Copy ./config/template.toml to ./config/server.toml (Do not add server.toml to repository)
  3. Update server.toml values

Commit Message

We follow Conventional Commit's specification for commit messages

About

API Server Template written in Go made with Go Gin framework, GORM with support for NSQ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published