horizon-svc
Description
Horizon is the module that allows users to track user-emitted and system evens, fetch info about the current state of the system and build transactions to send to target networks
Install
git clone github.com/rarimo/horizon-svc
cd horizon-svc
go build main.go
export KV_VIPER_FILE=./config.yaml
./main migrate up
./main run service
Documentation
We do use openapi:json standard for API. We use swagger for documenting our API.
To open online documentation, go to swagger editor here is how you can start it
cd docs
npm install
npm start
To build documentation use npm run build
command,
that will create open-api documentation in web_deploy
folder.
To generate resources for Go models run ./generate.sh
script in root folder.
use ./generate.sh --help
to see all available options.
Running from docker
Make sure that docker installed.
{%_ if (handleHTTP) { _%}
use docker run
with -p 8080:80
to expose port 80 to 8080
{%_ } _%}
```bash
docker build -t github.com/rarimo/horizon-svc .
docker run -e KV_VIPER_FILE=/config.yaml github.com/rarimo/horizon-svc
```
Running from Source
- Set up environment value with config file path
KV_VIPER_FILE=./config.yaml
- Provide valid config file
- Launch the service with
migrate up
command to create database schema
- Launch the service with
run service
command
Database
For services, we do use PostgresSQL database.
You can install it locally or use docker image.
Third-party services
Responsible hp
The primary contact for this project is iamhp0
License
MIT