golang-gin-starter-kit

command module
v0.0.0-...-9423bbe Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2017 License: MIT Imports: 6 Imported by: 0

README

RealWorld Example App

Build Status codecov GoDoc

Golang/Gin codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the RealWorld spec and API.

This codebase was created to demonstrate a fully fledged fullstack application built with Golang/Gin including CRUD operations, authentication, routing, pagination, and more.

How it works

.
├── gorm.db
├── hello.go
├── common
│   ├── utils.go        //small tools function
│   └── database.go     //DB connect manager
└── users
    ├── models.go       //data models define & DB operation
    ├── serializers.go  //response computing & format
    ├── routers.go      //business logic & router binding
    ├── middlewares.go  //put the before & after logic of handle request
    └── validators.go   //form/json checker

Getting started

Install the Golang

https://golang.org/doc/install

Environment Config

make sure your ~/.*shrc have those varible:

➜  echo $GOPATH
/Users/zitwang/test/
➜  echo $GOROOT
/usr/local/go/
➜  echo $PATH
...:/usr/local/go/bin:/Users/zitwang/test//bin:/usr/local/go//bin

Install Govendor & Fresh

I used Govendor manage the package, and Fresh can help build without reload

https://github.com/kardianos/govendor

https://github.com/pilu/fresh

cd 
go get -u github.com/kardianos/govendor
go get -u github.com/pilu/fresh

Start

➜  govendor sync
➜  fresh

Testing

➜  go test -v ./... -cover

Todo

  • More elegance config
  • Test coverage (common & users 100%, article 0%)
  • ProtoBuf support
  • Code structure optimize (I think some place can use interface)
  • Continuous integration (done)

Documentation

Overview

Golang Gonic/Gin startup project fork form RealWorld https://realworld.io

You can find all the spec and front end demo in the Realworld project

This project will include objects and relationships' CRUD, you will know how to write a golang/gin app though small perfectly formed.

Directories

Path Synopsis
The article module containing the article CRUD operation and relationship CRUD.
The article module containing the article CRUD operation and relationship CRUD.
Common tools and helper functions
Common tools and helper functions
The user module containing the user CRU operation.
The user module containing the user CRU operation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL