typical-rest-server

module
v0.8.18 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2020 License: MIT

README

Typical REST Server

Example of typical and scalable RESTful API Server for Go

Usage
Usage
typical-rest-server Run the application
typical-rest-server route Print available API Routes
Configuration
Name Type Default Required
APP_ADDRESS string :8089 Yes
PG_DBNAME string Yes
PG_HOST string localhost
PG_PASSWORD string pgpass Yes
PG_PORT int 5432
PG_USER string postgres Yes
REDIS_DB int 0
REDIS_DIAL_TIMEOUT Duration 5s Yes
REDIS_HOST string localhost Yes
REDIS_IDLE_CHECK_FREQUENCY Duration 1m Yes
REDIS_IDLE_TIMEOUT Duration 5m Yes
REDIS_MAX_CONN_AGE Duration 30m Yes
REDIS_PASSWORD string redispass
REDIS_POOL_SIZE int 20 Yes
REDIS_PORT string 6379 Yes
REDIS_READ_WRITE_TIMEOUT Duration 3s Yes
SERVER_DEBUG bool false

Development Guide

Prerequisite

Install Go (It is recommend to install via Homebrew brew install go)

Quick Start
./typicalw docker up # equivalent with `docker-compose up -d` (if infrastructure not up)
./typicalw pg reset # drop, create and migrate postgres database (if database not ready)

./typicalw readme # generate readme (if there is readme update)
./typicalw mock # generate mock (if require mock)

./typicalw test # run test 
./typicalw run # run the application
./typicalw release # release the distribution
Commands
Bash Snippet Usage
./typicalw build Build the binary
./typicalw clean Clean the project from generated file during build time
./typicalw run Run the binary
./typicalw test Run the testing
./typicalw mock Generate mock class
./typicalw release Release the distribution
./typicalw docker Docker utility
./typicalw docker compose Generate docker-compose.yaml
./typicalw docker up Spin up docker containers according docker-compose
./typicalw docker down Take down all docker containers according docker-compose
./typicalw docker wipe Kill all running docker container
./typicalw readme Generate README Documentation
./typicalw postgres Postgres Database Tool
./typicalw postgres create Create New Database
./typicalw postgres drop Drop Database
./typicalw postgres migrate Migrate Database
./typicalw postgres rollback Rollback Database
./typicalw postgres seed Data seeding
./typicalw postgres reset Reset Database
./typicalw postgres console PostgreSQL Interactive
./typicalw redis Redis Tool
./typicalw redis console Redis Interactive
./typicalw rails Rails-like generation
./typicalw rails scaffold Generate CRUD API
./typicalw rails repository Generate Repository from tablename

Directories

Path Synopsis
app
cmd
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
pkg

Jump to

Keyboard shortcuts

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