gorest | RESTful API Starter kit

gorest is a starter kit, written in Golang with Gin framework,
for rapid prototyping and developing a RESTful API. The source code is released
under the MIT license and is free for any personal or commercial project.
Versioning
1.x.y
1
: production-ready
x
: breaking changes
y
: new functionality or bug fixes in a backwards compatible manner
Important
Version 1.6.x
contains breaking changes!
Note: For version 1.4.5
: v1.4.5
Requirement
Go 1.19+
Supported databases
Note: gorest uses GORM as its ORM
Features
Start building
Please study the .env.sample
file. It is one of the most crucial files required
to properly set up a new project. Please rename the .env.sample
file to .env
,
and set the environment variables according to your own instance setup.
Tutorials:
For version 1.6.x
, please check the project in example
For version 1.4.x
and 1.5.x
, Wiki
- convention over configuration
import (
"github.com/gin-gonic/gin"
gconfig "github.com/pilinux/gorest/config"
gcontroller "github.com/pilinux/gorest/controller"
gdatabase "github.com/pilinux/gorest/database"
gmiddleware "github.com/pilinux/gorest/lib/middleware"
)
- install a relational (SQLite3, MySQL or PostgreSQL), Redis, or Mongo database
- for 2FA, a relational + a redis database is required
- set up an environment to compile the Go codes (a quick tutorial
for any Debian based OS)
- install
git
- check the Wiki and example for tutorials and implementations
Note: For MySQL driver, please check issue: 7
Note For SQLite3:
DBUSER
, DBPASS
, DBHOST
and DBPORT
environment variables
should be left unchanged.
DBNAME
must contain the full path and the database file name; i.e,
/user/location/database.db
Contributing
Please see CONTRIBUTING to join this amazing project.
Code of conduct
Please see this document.
License
© Mahir Hasan 2019 - 2023
Released under the MIT license