Golang 1.16 | GoGin Framework | ZAP Logger | Docker | CircleCI
To Run the pre-built docker image, that automatically builds with every new push
docker run -p 8081:8081 --name frankieone techievee/frankieone:latest
The application exposes
- 8081 - For TLS port ( TLS Enabled by default from the config with self-signed certificate)
make swagger
The application configuration can be specified as YAML and their config location can be specified using the -cnf environment variable, which defaults to current directory
- config folder
- app.yaml
- app_env - prod: All debug logs are supressed in stdout, any other values: all logs enabled
- services - For specifying the port and TLS options
- app.yaml
For building the solution, please
- Install the gcc and other developer tools
- Copy the cert and config folders
- create a folder where the db file resides
- RUN
- CGO_ENABLED=1 go build -o /frankieoneSDK
Pre-built solution for MAC are available as ZIP in release folder
SNo | ENDPOINTS | REST API | METHOD | DESCRIPTION |
---|---|---|---|---|
1 | /isgood | Yes | POST | gets all products. |
SNo | ENDPOINTS | REST API | METHOD | DESCRIPTION |
---|---|---|---|---|
1 | /isgood | Yes | POST | 200- Success, 500- Internal Server Error. |
POST Endpoints requires the body to have the following json data
DeviceCollection:
[
{
"checkType": "DEVICE",
"activityType": "SIGNUP",
"checkSessionKey": "string",
"activityData": [
{
"kvpKey": "ip.address",
"kvpValue1": "1.23.45.123",
"kvpType": "general.string"
}
]
},
{
"checkType": "DEVICE",
"activityType": "SIGNUP",
"checkSessionKey": "string1",
"activityData": [
{
"kvpKey": "ip.address",
"kvpValue": "1.23.45.123",
"kvpType": "general.string"
},
{
"kvpKey": "ip.address",
"kvpValue": "1.23.45.123",
"kvpType": "general.string"
}
]
}
]
Returns 200: Success
{
"puppy": true
}
Returns 500: Error
{
"code": 500,
"message": "Key: 'DeviceCheckDetailsObject.CheckType' Error:Field validation for 'CheckType' failed on the 'oneof' tag"
}