/form-generator

Create your own dynamic form

Primary LanguageGo

Form Generator

💡 By using this app, I hope that user can create a simple dynamic form based on their needs.

Please read how the app work section for overall flow or view this video below:

Create your own dynamic form - Watch Video

App Information

This app use gin as a framework, gorm as an ORM and go-swagger as API documentation.

📄 Installation

  1. Go installation:
  1. You need to have database and set it later in .env:
Create your own form-generator database, lets call it `enigmaschool`

Install Swagger Library

go get -u github.com/swaggo/swag/cmd/swag

Easy Setup & Run Form Generator

For make it easier to do configuration in Form Generator, I create shell script that you can use by type:

./run.sh

If you need to run manual, please see manual handling section

Form Generator Configuration

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 Form Generator) and redirect to your app_link/swagger/index.html

4. Run Form Generator 
// 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:3000/swagger/index.html

Form Generator Swagger Viewer


🔍 How The App Works ?

Form Generator Diagram


♿ 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