Coder Social home page Coder Social logo

bzz445 / go-boilerplate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from syahidfrd/go-boilerplate

0.0 0.0 0.0 118 KB

REST API boilerplate built with go and clean architecture - Echo Framework

Home Page: https://pkg.go.dev/github.com/syahidfrd/go-boilerplate

License: MIT License

Shell 0.27% Go 98.55% Makefile 0.67% Dockerfile 0.51%

go-boilerplate's Introduction

GO Boilerplate

Go Reference License: MIT Go Report Card

Directory Structure

├── cmd
│   └── api             // Main applications for this project
├── config              // Configuration app
├── delivery            // Delivery usefull to encode raw body, query params, make a response to client
│   ├── http
│   └── middleware
├── docs                // Design and user documents (in addition to your godoc generated documentation)
├── entity              // Entities is a struct to store any objects from database, example you have a products in your tables.
├── infrastructure
│   └── datastore       // Database configuration
├── migration           // Database migrations.
├── mocks               // Mock code, generated by mockery
├── repository          // Represents the behavior of the data store. It can be implemented using PostgreSQL, MongoDB, etc
│   ├── pgsql
│   └── redis
├── transport           // Request and response model
│   └── request
├── usecase             // Usecase contains all of business logic
└── utils               // Additional services
    ├── crypto
    ├── jwt
    └── logger

Prerequisite and full list what has been used

App requires 2 database (PostgreSQL and Redis server), run from your local machine or run it using docker with the following command

# run postgreSQL
docker run -d -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=go_boilerplate postgres

# run redis
docker run -d -p 6379:6379 redis

Migration

Run below command to run migration

migrate -path migration -database "${DATABASE_URL}" up

To create a new migration file

migrate create -ext sql -dir migration -seq name

Test

Run below command to run test, and make sure that all tests are passing

go test -v ./...

Running

Run below command to run app

go run ./cmd/api/main.go

Swagger URL

${BASE_URL}/swagger/index.html

You can find usefull commands in Makefile.

go-boilerplate's People

Contributors

erikadarisman avatar syahidfrd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.