Awesome Open Source
Awesome Open Source

RealWorld Example App

Build Status codecov License: MIT 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.

Directory structure

.
 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 Golang

Make sure you have Go 1.13 or higher installed.

https://golang.org/doc/install

Environment Config

Set-up the standard Go environment variables according to latest guidance (see https://golang.org/doc/install#install).

Install Dependencies

From the project root, run:

go build ./...
go test ./...
go mod tidy

Testing

From the project root, run:

go test ./...

or

go test ./... -cover

or

go test -v ./... -cover

depending on whether you want to see test coverage and how verbose the output you want.

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)

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Go (196,386
Golang (32,760
Api (22,240
Boilerplate (5,670
Example (4,679
Rest (4,144
Jwt (3,568
Sample (1,915
Crud (1,821
Restful (1,280
Starter (1,263
Todolist (1,258
Best Practices (886
Practice (833
Gin (690
Gorm (430
Todomvc (230
Realworld (158
Related Projects