Task description is in DESCRIPTION.md
signal.Notify
wasn't cathing SIGTERM signalproxy.OrderRequest
had auint8(rand.Uint32())
randomizer, which will return 1 or 2 very rarely. Not good for testing purposes
- 🏆 standard Go library (except for Gorilla Websocket package)
- ↪️ clean architecture (server->handler->service)
- 📖 standard Go project layout
- 🔨 Docker-compose, Dockerfiles & Makefile included
- 🚽 tests with mocks included
- start server with
make server
- then start proxy component with some restrictions
make proxy N=5 S=7000
where N is a limit of opened orders per client per instrument at the moment of time and S is the sum limit of volumes of opened orders per client per instrument at the moment of time
- finally, start the client:
make client
- test with
make test
- start server with proxy in containers:
make up
- stop container:
make down