💡 Create a backend using GoLang for User Profile CRUD (UserID, Email, Address, 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:
Tutorial Run This Application
This app use gin as a framework, gorm as an ORM and go-swagger as API documentation.
- 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 `enigmaschool`
go get -u github.com/swaggo/swag/cmd/swag
For make it easier to do configuration in Go Limonilo, 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 Limonilo) and redirect to your app_link/swagger/index.html
4. Run Go Limonilo
// This feature is used for running the app
This feature only can be used after running the app
redirect to this link --> /swagger/index.html
e.g. http://localhost:3000/swagger/index.html
cp .env.example .env
Fulfill your environment setup
go test -coverprofile cp.out -v ./... && go tool cover -html=cp.out
swag init
or
{GOLANG_PATH}/go/bin/swag init
//e.g. /UserProfiles/kuncoro.barot/go/bin/swag init
go run main.go