modulepackage
0.0.0-20211110034553-814bdb248cb3
Repository: https://github.com/coroo/go-starter.git
Documentation: pkg.go.dev
# README
Go Starter User
:bulb: Create a backend using GoLang for User Profile CRUD (UserID, Email, Name, Password) and Login Process (Username & Password) Process which follow SOLID Principles.
Please read how the app work section for overall flow or view this video below:
App Information
This app use gin as a framework, gorm as an ORM and go-swagger as API documentation.
:page_facing_up: Installation
- Go installation:
- Download: https://golang.org/dl/
- Instruction: https://golang.org/doc/install#install
- You need to have database and set it later in .env:
Create your own form-generator database, lets call it `go-starter`
Install Swagger Library
go get -u github.com/swaggo/swag/cmd/swag
Seeder
go run database/seed.go
Easy Setup & Run Go Starter User
For make it easier to do configuration in Go Starter User, I create shell script that you can use by type:
./run.sh
If you need to run manual, please see manual handling section
You need to use this step-by-step for running the app at the first time:
1. Set Up Environment (.env)
// Used for set-up app environment. For the first setup, you need to change your environment detail. For more information about environment that you need to add, please contact developer.
2. Do Unit Test
// You can always running unit test by this feature
3. Update Swagger Documentation
// You use swagger for maintain API restful documentation. You can check it later after running app (4. Run Go Starter User) and redirect to your app_link/swagger/index.html
4. Run Go Starter User
// This feature is used for running the app
API Documentation
This feature only can be used after running the app
redirect to this link --> /swagger/index.html
e.g. http://localhost:3002/swagger/index.html
:wheelchair: Manual Handling
Set Environment
cp .env.example .env
Fulfill your environment setup
Unit Test
go test -coverprofile cp.out -v ./... && go tool cover -html=cp.out
Update Swagger Documentation
swag init
or
{GOLANG_PATH}/go/bin/swag init
//e.g. /Users/kuncoro.barot/go/bin/swag init
Running App
go run main.go