module
Version:
v1.1.0
Opens a new window with list of versions in this module.
Published: Aug 5, 2020
License: Apache-2.0
Opens a new window with license information.
README
¶
GO RESTful API Boilerplate
This boilerplate makes it easy to start a project by following the recommended structure from golang-standards.
The purpose of this boilerplate is to have a solid structure to build medium to big apps and makes it easier for teams to work in parallel.
Features
The following feature set is a minimal selection of typical Web API requirements:
How to start
- Clone this repository
- Use go mod vendor
- Create a postgres database and set environment variables for your database accordingly if not using same as default
- Run
go run cmd/server/main.go migrate
to migrating PostgreSQL database
- Run application with
go run cmd/server/main.go
- If you want to use this boilerplate for Production, change ENV from development to production
API Routes
You can see the routes on the folder api/spec/swagger.json, this boilerplate use OPENAPI 3.0.3
ENV Variable
Name |
Type |
Default |
Description |
MAIN_URL |
string |
localhost |
HTTP address |
ENV |
string |
development |
Status project, run on development or production |
PORT |
string |
:5000 |
HTTP port |
HASH_KEY |
string |
wkwkwkwk |
You should change the default hash key, this variable is used for hashing your password |
JWT_SIGN_KEY |
string |
wadidaw |
You should change the default JWT_SIGN_KEY, this variable used for signed the JWT token |
JWT_EXPIRATION |
int |
15 |
JWT Access token expiry, count with minutes |
JWT_REFRESH_EXPIRATION |
int |
1 |
JWT refresh token expiry, count with hours |
DB_HOST |
string |
0.0.0.0 |
Database tcp address |
DB_PORT |
stirng |
5432 |
Database port |
DB_USER |
string |
postgres |
Database username |
DB_USER |
string |
password |
Database password |
DB_DATABASE |
string |
myapp |
Your database name |
REDIS_HOST |
string |
localhost:6379 |
Redis tcp address |
REDIS_PASSWORD |
string |
|
Redis password |
MAIL_HOST |
string |
|
SMTP Host |
MAIL_PORT |
int |
|
SMTP Port |
MAIL_SECURE |
int |
|
If your SMTP use TLS, filled with 1 if not fileed with 0 |
MAIL_USER |
string |
|
SMTP user |
MAIL_PASSWORD |
string |
|
SMTP password |
MAIL_FROM |
string |
|
Mail header sender |
Directories
¶
Click to show internal directories.
Click to hide internal directories.