Template for depency injection in golang (no libraries)

Go Dependency Injection (No libraries)

Project template based on the most common layered architecture style, made to explain how to do dependency injection in golang without using any library

Important The purpose of this project is to show a way to do dependency injection in golang and not how to structure your project.

It should take more importance to how the dependencies are communicated than to the structure of the project

Notes No library is used in this project: The routing of endpoints are made with the standard go library

Dependency injection explained
Architecture style explained
Comments
  • Comments were included for documentation

    Comments were included for documentation

    • Added comments in the file "README.md" to explain the architecture style used in the project
    • Added infographic (doc/images/infographic.png) to explain dependency injection

    issue feature/documentation

  • Renamed

    Renamed "internal/service" as "internal/business"

    The package service was renamed as business to prevent confusions and make the architecture style more faithful to the most common way of doing layered architecture

    issue initial-architecture

  • Renamed

    Renamed "internal/service" as "internal/business"

    The package service was renamed as business to prevent confusions and make the architecture style more faithful to the most common way of doing layered architecture

    issue initial-architecture

    issue initial-architecture

  • Merger of the develop and master branches

    Merger of the develop and master branches

    Merger of the develop and master branches.

    Passing the stable changes to the main branch (master)

    Changes to merge:

    • Creation of a initial version of the template project
    • Project documentation
  • Initial version of template project (Merge to develop)

    Initial version of template project (Merge to develop)

    Merge of initial architecture and develop branches

    An initial architecture and more specifically, a initial version of template project was created . (Initial template version) ├── README.md ├── go.mod ├── internal (all packages are located in ./internal to be private) │   ├── dependency │   │   └── dependency.go │   ├── handler │   │   ├── handler.go │   │   └── user.go │   ├── model │   │   ├── error.go │   │   └── model.go │   ├── repository │   │   ├── repository.go │   │   └── user.go │   └── service │   └── user.go └── main.go

Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.

goview Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. Contents Inst

Dec 25, 2022
Go-project-template - Template for a golang project

This is a template repository for golang project Usage Go to github: https://git

Oct 25, 2022
Wrapper package for Go's template/html to allow for easy file-based template inheritance.

Extemplate Extemplate is a small wrapper package around html/template to allow for easy file-based template inheritance. File: templates/parent.tmpl <

Dec 6, 2022
Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template

quicktemplate A fast, powerful, yet easy to use template engine for Go. Inspired by the Mako templates philosophy. Features Extremely fast. Templates

Dec 26, 2022
Simple system for writing HTML/XML as Go code. Better-performing replacement for html/template and text/template

Simple system for writing HTML as Go code. Use normal Go conditionals, loops and functions. Benefit from typing and code analysis. Better performance than templating. Tiny and dependency-free.

Dec 5, 2022
A template to build dynamic web apps quickly using Go, html/template and javascript
A template to build dynamic web apps quickly using Go, html/template and javascript

gomodest-template A modest template to build dynamic web apps in Go, HTML and sprinkles and spots of javascript. Why ? Build dynamic websites using th

Dec 29, 2022
Made from template temporalio/money-transfer-project-template-go
Made from template temporalio/money-transfer-project-template-go

Temporal Go Project Template This is a simple project for demonstrating Temporal with the Go SDK. The full 20 minute guide is here: https://docs.tempo

Jan 6, 2022
Go-api-template - A rough template to give you a starting point for your API

Golang API Template This is only a rough template to give you a starting point f

Jan 14, 2022
Api-go-template - A simple Go API template that uses a controller-service based model to build its routes

api-go-template This is a simple Go API template that uses a controller-service

Feb 18, 2022
A general purpose golang CLI template for Github and Gitlab

golang-cli-template A general purpose project template for golang CLI applications This template serves as a starting point for golang commandline app

Dec 2, 2022
Clean arch Golang template project

Template No previous versions, still working on this one to reach v1. API Service for pssword app mobilde based on : https://github.com/bxcodec/go-cle

Sep 15, 2021
Template for Golang rest API using Fiber

Rest API Setup DB sudo -S docker-compose -f db.yml up -d Build container sudo -S docker build -t rest-api-image . Run container from image sudo -S doc

Dec 5, 2021
Clean Architecture template for Golang services
Clean Architecture template for Golang services

Go Clean template Clean Architecture template for Golang services Overview The purpose of the template is to show: how to organize a project and preve

Jul 11, 2022
Clean Architecture template for Golang services

Go Clean template Clean Architecture template for Golang services Overview The purpose of the template is to show: how to organize a project and preve

Nov 30, 2021
A Go Template Library. A bunch of utils and collections that are not part of the Golang standard library.

gotl A Go Template Library. A bunch of utils and collections that are not part of the Golang standard library. Prerequisites This library is using ext

Dec 15, 2021
Competitive Programming Template for Golang

Go Competitive Programming Template How to use this repo? Check the commit histo

Dec 19, 2021
Template user CRUD operations with golang, JWT, postgres

user-api-golang A CRUD API template for perform operations on users. Written in golang. Components Server: Golang with go-chi as mux and zap for loggi

Dec 26, 2021
Golang Service Template

Golang Service Template Golang back-end service template. Using this template, you can get started with back-end projects quickly. Web Framework ORM D

Jun 8, 2022
This is a simple GoLang script template.

This is a simple GoLang script template.

Oct 25, 2022