kiosk

module
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 12, 2020 License: Apache-2.0

README

Kiosk

License build

A typical ticketing system that is designed for micro services environment with highly scalable and concurrent needs.

How it works

Kiosk designed by scalability and ease of use in mind, so we chose nats as message bus because of its modern distributed patterns. Every kiosk node listens to all subjects but in queue grouped manner, so the requests will distribute between different nodes. The message protocol is typical JSON format, so it can be used by all nats clients.

For more information about subject names and request/response models see Wiki pages.

How to test and build

The requirements to test and build the project are as follows:

Requirement Version
go 1.15
postgres 11
nats 2.1

To prepare your environment for next steps first run:

./scripts/setup.sh

To build an executable instance of the project, use:

./scripts/build.sh

To run tests you can use the test.sh script (Ensure Docker is up and running):

./scripts/test.sh

To build a docker image (Images also available on Docker Hub)

docker build -t image:tag .

How to run

./kiosk-linux-[version] --config path/to/kiosk.json starts the project, easily!

See configs/kiosk.json for an example configuration.

Prometheus exporter

This project has prometheus metrics exporter that can be scraped by any prometheus server instance on /v1/metrics endpoint.

Directories

Path Synopsis
cmd
db
web

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL