An application that is developed to generate application by API specification

TEST PROJECT


GO Boilerplate

GO boilerplate is an application that is developed to generate application by API specification and Database schema with the collaboration with opn-generator.

Report Bug

Table of Contents

  1. About The Project
  2. Usage
  3. Roadmap
  4. Requirements
  5. Acknowledgements

About The Project

Project Structure

📦go-boilerplate
 ┣ 📂cmd
 ┃ ┣ 📂admin
 ┃ ┣ 📂app
 ┃ ┣ 📂cli
 ┣ 📂config
 ┣ 📂database
 ┃ ┗ 📂migrations
 ┣ 📂deployments
 ┣ 📂docs
 ┣ 📂internal
 ┃ ┣ 📂http
 ┃ ┣ 📂models
 ┃ ┗ 📂repositories
 ┣ 📂pkg
 ┃ ┣ 📂database
 ┣ 📂templates
 ┃ ┣ 📂api
 ┃ ┣ 📂database

Directory explanation

/cmd

Main applications for this project. The directory name for each application should match the name of the executable you want to have (e.g., /cmd/myapp).

/config

Configuration file templates or default configs.

/database

Contains database related file. (eg., /database/migrations)

/deployments

Contains deployment related file. (eg., aws codebuild, codepipeline, dockerfiles)

/docs

Contains project documents. (eg., app api docs, admin api docs, database schema etc.)

/internal

Private application and library code. This is the code you don't want others importing in their applications or libraries. Note that this layout pattern is enforced by the Go compiler itself.

/pkg

Library code that's ok to use by external applications (e.g., /pkg/mypubliclib). Other projects will import these libraries expecting them to work, so think twice before you put something here :-)

This tool is developed by following Standard Go project layout

App Structure

Repositories

Repositories are the gateway to get entities(model).

Services

Services are business logic layers.

Handlers

  • Handlers are entry points of all APIs and they should have the following things only
  • Validate request and build request objects
  • Call set of service methods
  • Build response object
  • You should not write any business logics on handler methods directly.

This project is using Uber’s dig as dependency injection toolkit.

Usage

Please check OPN generator readme section check the usage process of go boilerplate.

Roadmap

The roadmap is useful for planning large pieces of work several months in advance at the Epic level within a single project. Simple planning and dependency management features help teams visualize and manage work better together.

See the open issues for a list of proposed features (and known issues).

Requirements

  • Go^1.16

Acknowledgements

Owner
Rafi Mahmud
Tech lover and enthusiast. Writing robust code for high volume businesses.
Rafi Mahmud
Similar Resources

A command line tool to generate sequence diagrams

A command line tool to generate sequence diagrams

goseq - text based sequence diagrams A small command line utility used to generate UML sequence diagrams from a text-base definition file. Inspired by

Dec 22, 2022

generate my_github status using GitHub Actions

generate my_github status using GitHub Actions

generate my_github status using GitHub Actions

Sep 21, 2022

Generate spreadsheets based on GitHub contributions

pullsheet generates a CSV (comma separated values) & HTML output about GitHub activity across a series of repositories.

Oct 17, 2022

Generate type-safe Go converters by simply defining an interface

goverter a "type-safe Go converter" generator goverter is a tool for creating type-safe converters. All you have to do is create an interface and exec

Jan 4, 2023

Generate random, pronounceable, sometimes even memorable, "superhero like" codenames - just like Docker does with container names.

Codename an RFC1178 implementation to generate pronounceable, sometimes even memorable, "superheroe like" codenames, consisting of a random combinatio

Dec 11, 2022

A tool to generate Pulumi Package schemas from Go type definitions

MkSchema A tool to generate Pulumi Package schemas from Go type definitions. This tool translates annotated Go files into Pulumi component schema meta

Sep 1, 2022

Generate FIRST/FOLLOW/PREDICT Set from BNF.

Generate FIRST/FOLLOW/PREDICT Set from BNF. We can use it to study parser theory. Feature FirstSet generate. Output pretty. FollowSet generate. Output

Oct 30, 2021

Generate droppers with encrypted payloads automatically.

This tool started out as a simple Python script. After discovering Python just couldn't cut it for my intended use I decided to learn and move to Golang. So far I'm quite happy with that decision.

Dec 22, 2022

Program to generate ruins using the Numenera Ruin Mapping Engine

Ruin Generator This is my attempt to build a program to generate ruins for Numenera using the rules from the Jade Colossus splatbook. The output only

Nov 7, 2021
Fishfindr - An application that is being developed to help me figure out the best places to fish based on my catch history

fishfindr Fishfindr is an application that is being developed to help me figure out the best places to fish based on my catch history. The front-end p

Feb 10, 2022
Go implementation of the XDG Base Directory Specification and XDG user directories

xdg Provides an implementation of the XDG Base Directory Specification. The specification defines a set of standard paths for storing application file

Dec 23, 2022
DSV Parallel Processor takes input files and query specification via a spec file

DSV Parallel Processor Spec file DSV Parallel Processor takes input files and query specification via a spec file (conventionally named "spec.toml").

Oct 9, 2021
Generates Golang code with enums from TOML specification

enum-generator This enum-generator is intended to generate golang source code for string-based enum types and enum types with associated data from des

Dec 29, 2021
Wprecon, is a vulnerability recognition tool in CMS Wordpress, 100% developed in Go.
Wprecon, is a vulnerability recognition tool in CMS Wordpress, 100% developed in Go.

WPrecon (Wordpress Recon) Hello! Welcome. Wprecon (Wordpress Recon), is a vulnerability recognition tool in CMS Wordpress, 100% developed in Go. Featu

Dec 25, 2022
Developed Code for the Fulfillment of the technical task given by Appointy using Go

INSTAGRAM BACKEND API BY KUNAL KULKARNI Table of Contents About The Project Built With Getting Started Prerequisites Installation Usage License Contac

Oct 10, 2021
HTTP service to generate PDF from Json requests

pdfgen HTTP service to generate PDF from Json requests Install and run The recommended method is to use the docker container by mounting your template

Dec 2, 2022
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
generate fake data in go

Faker for Go Usage package main import ( "github.com/manveru/faker" ) func main() { fake, err := faker.New("en") if err != nil { panic(err

Sep 29, 2022
:runner:runs go generate recursively on a specified path or environment variable and can filter by regex

Package generate Package generate runs go generate recursively on a specified path or environment variable like $GOPATH and can filter by regex Why wo

Sep 27, 2022