Clean architecture starter pack for faster and easier feature creation using Go.

cleanarchGo

💫 About

Clean architecture starter pack for faster and easier feature creation using Go.

  • This pack includes Clean Architecture with the Echo framework, Gorm, Viper (env), Govalidator, Jwt, and more.
  • You can create CRUD features in less than one minute
  • .gitignore , Dockerfile will also be generated too.
  • Auth feature and users feature will also generated :
🔗 Auth Routes
Method Endpoint Params JWT Token Function
POST /login - NO Login User
POST /register - NO Register User
POST /change-password - YES Change Password
GET /claim-token - YES Get Token Data
🔗 Users Routes
Method Endpoint Params JWT Token Function
GET /users - NO Get All Users
GET /users id NO Get User By Id
PUT /users id NO Edit User
DELETE /users id NO Delete user

🚀 Import

go get -u github.com/Findryankp/cleanarchGo@latest

👨🏽‍💻 Step By Step

  1. First step, add this syntax to your main function in file main.go
cleanarchGo.Init();
  • for example :
  1. Run this syntax in cmd/ terminal
go run . init
  • If success, the files that will be generated are :
  • configs database
  • middlewares (jwt auth, logs, cors)
  • environment (local.env)
  • etc
  1. Set local.env with your own configuration database

🚀 Create new feature

  • run this syntax in your cmd/terminal
go run . features featuresNames
  • ex : go run . features rooms

  • CRUD Features, Code all layer, route, and migratiton feature from your featureNames will be created

🔗 featureNames Routes
Method Endpoint Params JWT Token Function
POST /featureNames - NO Create new featureNames
GET /featureNames - NO Get All Available your featureNames
GET /featureNames id NO Get featureNames Detail
PUT /featureNames id NO Edit featureNames
DELETE /featureNames id NO Delete featureNames

🎯 Run Project

go run .
  • try with your postman or another

😎 Development by

Findryankp findryankp

Owner
Findryan Kurnia Pradana
Backend Engineer (Golang)
Findryan Kurnia Pradana
Similar Resources

Print build info from binary, using buildinfo package.

Go Build Info Print build info from binary, using buildinfo package. https://pkg.go.dev/debug/[email protected] Note: This was created to help me

Dec 30, 2021

Go-bqstreamer - Stream data into Google BigQuery concurrently using InsertAll()

Kik and me (@oryband) are no longer maintaining this repository. Thanks for all the contributions. You are welcome to fork and continue development. B

Dec 7, 2022

A Golang library to manage your environment variables using structs.

genv A simple Golang library to manage your environment variables using structs. How to use package main import ( "github.com/vdgonc/genv" ) type E

Aug 15, 2022

A logr LogSink implementation using bytes.Buffer

buflogr A logr LogSink implementation using bytes.Buffer. Usage import ( "bytes" "fmt" "github.com/go-logr/logr" "github.com/tonglil/buflogr" )

Jan 6, 2023

Coletor-mpac - Collector of the Public Ministry of Acre (MPAC) using CDP technology

Ministério Público do Acre(MPAC) Esse coletor é baseado na tecnologia Chrome Dev

Jan 28, 2022

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.

The open-source platform for monitoring and observability. Grafana allows you to query, visualize, alert on and understand your metrics no matter wher

Jan 3, 2023

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

Nov 10, 2022

Simple and configurable Logging in Go, with level, formatters and writers

go-log Logging package similar to log4j for the Golang. Support dynamic log level Support customized formatter TextFormatter JSONFormatter Support mul

Sep 26, 2022

A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets.

ozzo-log Other languages 简体中文 Русский Description ozzo-log is a Go package providing enhanced logging support for Go programs. It has the following fe

Dec 17, 2022
A simple re-creation of the first level for Space Invaders using Go and SDL-2.
A simple re-creation of the first level for Space Invaders using Go and SDL-2.

Space Invaders Go Written in Go using SDL2 Usage This application is a sample first level for a re-creation of Space Invaders. The structure of the pr

Feb 27, 2022
List files and their creation, modification and access time on android

andfind List files and their access, modification and creation date on a Android

Jan 5, 2022
Go starter project with Gin, Viper, postgres , redis, zap, prometheus metrics etc setup

Go REST Service Starter/Boilerplate Easily extendible REST API Service boilerplate aiming to follow idiomatic go and best practice. Any feedback and p

Jun 23, 2022
A simple logging module for go, with a rotating file feature and console logging.

A simple logging module for go, with a rotating file feature and console logging. Installation go get github.com/jbrodriguez/mlog Usage Sample usage W

Dec 14, 2022
A feature-rich and easy to use logger for golang
A feature-rich and easy to use logger for golang

A feature-rich and easy to use logger for golang ?? Install ?? Common Logs lumber.Success() lumber.Info() lumber.Debug() lumber.Warning()

Dec 31, 2022
🪵 A dead simple, pretty, and feature-rich logger for golang
🪵 A dead simple, pretty, and feature-rich logger for golang

?? lumber ?? A dead simple, pretty, and feature-rich logger for golang ?? Install ?? Logging Functions lumber.Success() lumber.Info() lumber.Debug() l

Jul 20, 2022
An example logging system using Prometheus, Loki, and Grafana.
An example logging system using Prometheus, Loki, and Grafana.

Logging Example Structure Collector Export numerical data for Prometheus and log data for Promtail. Exporter uses port 8080 Log files are saved to ./c

Nov 21, 2022
A logr LogSink implementation using Zerolog

Zerologr A logr LogSink implementation using Zerolog. Usage import ( "os" "github.com/go-logr/logr" "github.com/hn8/zerologr" "github

Nov 17, 2022
Easily listen to events from multiple contracts using go-ethereum bindings!

eth-log-aggregator Easily listen to events from multiple contracts using go-ethereum bindings! Usage The usage of this tool is exactly the same as abi

Dec 2, 2022
Gom: DOM building using Go

gom DOM building using Go Usage package main import "github.com/hadihammurabi/gom" func main() { dom := gom.H("html").Children( gom.H("head").Chi

Dec 16, 2021