Giter VIP home page Giter VIP logo

codebase-go-rest-lite's Introduction

Codebase for REST API in Go (Lite)

This codebase help a new Go developer in developing a REST API using Go. This codebase included with some pre bundle service or helper like authentication, logging, and predefined configuration. This lite version does not have database, cache, or store driver.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

Prequisites package:

  • Go (Go Programming Language)
  • Dep (Go Dependencies Management Tool)
  • Make (Automated Execution using Makefile)

Optional package:

  • GoReleaser (Go Automated Binaries Build)
  • Docker (Application Containerization)

Installing

Below is the instructions to make this codebase running:

  • Create a Go Workspace directory and export it as the extended GOPATH directory
cd <your_go_workspace_directory>
export GOPATH=$GOPATH:"`pwd`"
  • Under the Go Workspace directory create a source directory
mkdir -p src/<your_repository_domain>/<your_username>/<your_repository>
  • Move to the created directory and pull codebase
cd src/<your_repository_domain>/<your_username>/<your_repository>
git clone -b master https://github.com/dimaskiddo/codebase-go-rest-lite.git .
  • Run following command to change the codebase repository URL to your own
make rebase REBASE_URL="<your_repository_domain>/<your_username>/<your_repository>"
  • Run following command to renew and pull dependecies package
make init
make vendor
  • Until this step you already can run this code by using this command
make run

Running The Tests

Currently the test is not ready yet :)

Deployment

Make sure your your go script does not relate to github.com/dimaskiddo/codebase-go-rest-lite anymore. To build this codebase to binaries for distribution purposes you can run following command:

make release

The build result will shown in build directory

Built With

  • Go - Go Programming Languange
  • Dep - Go Dependency Management Tool
  • GoReleaser - Go Automated Binaries Build
  • Make - GNU Make Automated Execution
  • Docker - Application Containerization

Authors

  • Dimas Restu Hidayanto - Initial Work - DimasKiddo

See also the list of contributors who participated in this project

Annotation

You can seek more information for the make command parameters in the Makefile

codebase-go-rest-lite's People

Contributors

dimaskiddo avatar

Watchers

James Cloos 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.