This project has been created for own needs and may contain bugs.
Tests are also missing. :(
Use it carefully on your own risk!
- golang 1.14
- vuejs
- docker
- nats
- lib for decoding/encoding Avro schemas
- uploading your zipped Avro schemas
- auto discovering list of subjects using "namespace" from Avro schemas
- publishing messages (auto encode to Avro)
- receiving any messages from all subjects
- auto decoding messages using Avro schemas
- better documentation
- support publishing into JSON format
- support publishing to custom subject
- tests
- refactoring
- improve UI
docker-compose up
Just use image from Docker Hub
version: "3"
services:
app:
image: jilexandr/natsavrotester:tag
environment:
PORT: 8080
NATS_SERVER: "http://nats:4222"
MAX_HIERARCHY_LEVEL: 5
LOG_LEVEL: "trace"
ports:
- 9999:8080
links:
- nats
nats:
image: nats:2.1
ports:
- 4222
docker run -e PORT=9999 --net=host jilexandr/natsavrotester:tag
At the moment there is no possibility to develop frontend part without backend part.
All requests from frontend are sent to same domain
window.location.origin
.Just run both Backend and Frontend using instructions below.
ENV:
- PORT (default: 8080)
- NATS_SERVER (default: http://localhost:4222)
- MAX_HIERARCHY_LEVEL (default: 1)
- LOG_LEVEL (default: trace)
In the root of the project directory:
go run .
You'll get web server (http://localhost:8080 by default) which hosts static assets (web/dist
) from Frontend part.
In the root of the project directory:
(cd web && npm run dev)
It will keep up to date app assets inside web/dist
.