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.

Environment Config

Set-up the standard Go environment variables according to latest guidance (see

Install Dependencies

From the project root, run:

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


From the project root, run:

go test ./...


go test ./... -cover


go test -v ./... -cover

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


  • 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)


View Github