A boilerplate for Go fiber versioning

Fiber Versioning Boilerplate

Linter

fiber-versioning-boilerplate

Prerequisite

Make sure you have the following installed outside the current project directory and available in your GOPATH

Features ✨

  • API Versioning
  • Data Versioning
  • Dynamic Struct Type
  • Clean Architecture
  • Postman Collections
  • API Documentation with swagger

Project structure πŸ“

api
  β”œβ”€β”€ adapters
  β”‚  └── mongo.go
  β”œβ”€β”€ app.go
  β”œβ”€β”€ handlers
  β”‚  β”œβ”€β”€ errors.go
  β”‚  β”œβ”€β”€ parser_body.go
  β”‚  └── response.go
  β”œβ”€β”€ utilities
  β”‚  β”œβ”€β”€ configuration.go
  β”‚  └── converter.go
  └── versions
    β”œβ”€β”€ v1
    β”‚  β”œβ”€β”€ entities
    β”‚  β”œβ”€β”€ factories
    β”‚  β”œβ”€β”€ repositories
    β”‚  β”œβ”€β”€ routes
    β”‚  └── usecases
    └── v2
        β”œβ”€β”€ entities
        β”œβ”€β”€ factories
        β”œβ”€β”€ repositories
        β”œβ”€β”€ routes
        └── usecases

Development environment setup

make setup

Start the application ⚑️

make start

Testing πŸ§ͺ

make test

Manual πŸ—’οΈ

Run make help to list available commands:

 Choose a command run in fiber-versioning-boilerplate:

  setup           Initialize project
  docker-start    Start docker-compose
  docker-stop     Stop docker-compose
  start           Start the application
  gendoc          Generate docs api with swagger
  test            Run tests coverage
  mongo-dump      Dump MongoDB data for testing
  mongo-restore   Restore MongoDB data for testingg

Similar Resources

Golang service boilerplate using best practices

go-boilerplate Golang service boilerplate using best practices. Responsibility: Register (CRUD) and Login Users with JWT. Dependencies Gin-Gonic Swagg

May 11, 2022

Go-fn Boilerplate for Web Functions

alya-go-fn-boilerplate Go-fn Boilerplate for Web Functions This projects aiming to create a deployment ready go skeleton webserver for fast developmen

Feb 5, 2022

A boilerplate/starter project for quickly building APIs using Golang with Clean Architechture

A boilerplate/starter project for quickly building APIs using Golang with Clean Architechture

A boilerplate/starter project for quickly building APIs using Golang with Clean Architechture

Mar 2, 2022

React + Golang boilerplate

React + Golang boilerplate Note: Optimized for running Docker in Linux where you can use port 80 without running docker-compose as root unless you mes

Feb 14, 2022

Ecom-Golang-Fiber-Nextjs - E Commerce web app built in go with Fiber as backend, NextJS As frontend and PostgreSQL as database

Ecom-Golang-Fiber-Nextjs Setup Follow bellow steps to run the app in Dev & Prod

Nov 15, 2022

fiber-air-docker development environment boilerplate, examples

fiber-air-docker development environment boilerplate, examples

ON AIR! fiber-air-docker development environment boilerplate TODO on air μ„Έμ…˜ μ€€λΉ„ fiber μœ μ € μ€€λΉ„ gorm μ™Έλž˜ν‚€ μ€€λΉ„ 아킀텍쳐 μ°Έκ³  https://blog.puppyloper.com/menus/Golan

Sep 14, 2022

Golang Fiber boilerplate with MySQL resource.

Fibo - Go Fiber API Boilerplate A starter project with Golang, Fiber and Gorm Golang Fiber boilerplate with MySQL resource. Supports multiple configur

Nov 1, 2022

Go Fiber Boilerplate with Gorm ORM

Go Fiber Boilerplate with Gorm ORM This boilerplate app is using Go version 1.17 because I think for now this is the most updated release. Installatio

Jul 30, 2022

Generate boilerplate + endpoints for Fiber REST APIs.

gomakeme Generate boilerplate + endpoints for Fiber REST APIs. Never spend 6 minutes doing something by hand when you can spend 1 week to automate it

Dec 30, 2022

Gin-boilerplate - This repository contains boilerplate code of a REST service using Gin (golang) framework.

Boilerplate REST service using Gin web framework (golang) Introduction This repository contains a boilerplate REST API service using Gin web framework

Apr 28, 2022

Gin-boilerplate - Gin boilerplate preconfigured with basic rest api features

Gin Boilerplate Build apis with gin faster with this template Features Validatio

Jun 24, 2022

Semantic Versioning (semver) library written in golang

semver for golang semver is a Semantic Versioning library written in golang. It fully covers spec version 2.0.0. Versioning Old v1-v3 versions exist i

Dec 26, 2022

Automatically create global & local Rate Limit in Istio, support EnvoyFilter versioning!

istio-ratelimit-operator Istio ratelimit operator provide an easy way to configure Global or Local Ratelimit in Istio mesh. Istio ratelimit operator a

Oct 24, 2022

Dud is a lightweight tool for versioning data alongside source code and building data pipelines.

Dud Website | Install | Getting Started | Source Code Dud is a lightweight tool for versioning data alongside source code and building data pipelines.

Jan 1, 2023

A CLI which automates semver versioning.

Semverbot A CLI which automates semver versioning based on git information. Why Semverbot? There are several reasons why you should consider using sbo

Dec 12, 2022

Learning go with tests! Also setting up automated versioning via SemVer.

learn-go-with-tests The purpose of this repo is to complete the learn-go-with-test course located here. I am also interested in learning how to automa

Nov 23, 2021

Git extension for versioning large files

Git Large File Storage Git LFS is a command line extension and specification for managing large files with Git. The client is written in Go, with pre-

Jan 5, 2023

modver - a Go package and command that helps you obey semantic versioning rules in your Go module.

Modver This is modver, a Go package and command that helps you obey semantic versioning rules in your Go module. It can read and compare two different

Dec 12, 2022

πŸ“– Build a RESTful API on Go: Fiber, PostgreSQL, JWT and Swagger docs in isolated Docker containers.

πŸ“– Build a RESTful API on Go: Fiber, PostgreSQL, JWT and Swagger docs in isolated Docker containers.

πŸ“– Tutorial: Build a RESTful API on Go Fiber, PostgreSQL, JWT and Swagger docs in isolated Docker containers. πŸ‘‰ The full article is published on Marc

Dec 27, 2022
modver - a Go package and command that helps you obey semantic versioning rules in your Go module.

Modver This is modver, a Go package and command that helps you obey semantic versioning rules in your Go module. It can read and compare two different

Dec 12, 2022
Monegi Backend With Fiber And Gorm

Fiber + Gorm Setting environment variables Creating .env file to compose environment variables. .env DB_HOST= <host of db> DB_NAME= <name of db> DB_US

Nov 17, 2021
Automatically generate Go test boilerplate from your source code.
Automatically generate Go test boilerplate from your source code.

gotests gotests makes writing Go tests easy. It's a Golang commandline tool that generates table driven tests based on its target source files' functi

Jan 3, 2023
A Visual Go REST API boilerplate builder.
A Visual Go REST API boilerplate builder.

A Visual Go REST API boilerplate builder. The boilerplate builder will export a Go web server with 0 dependencies, besides the ones you add.

Jul 8, 2022
A boilerplate showing how to create a Pulumi component provider written in Go

xyz Pulumi Component Provider (Go) This repo is a boilerplate showing how to create a Pulumi component provider written in Go. You can search-replace

Mar 4, 2022
Example hello-world service uses go-fx-grpc-starter boilerplate code

About Example hello-world service uses https://github.com/srlk/go-fx-grpc-starter boilerplate code. Implementation A hello world grpc service is creat

Nov 14, 2021
Boilerplate for building a monolighic Go and React application
Boilerplate for building a monolighic Go and React application

Monolithic Go and React Application Boilerplate This repository provides a simple and monolithic service with a server written in Go and frontend with

Dec 19, 2022
Go Clean Architecture Boilerplate

Go Clean-Architecture Simple Go Clean-Architecture Boilerplate Overview The purpose of the template is to show: How to organize a project and prevent

Nov 27, 2021
A golang boilerplate for Mixin Bot

go-boilerplate This is a golang boilerplate for Mixin Bot. run ./go-boilerplate -f YOUR_KEYSTORE_FILE help to see the help. It enables several widely

Nov 3, 2022
A boilerplate for building Gradescope autograders for Go projects.

go-autograder A boilerplate for building Gradescope autograders for Go projects. Getting started This autograder works by running all Go tests in a st

Nov 6, 2022