Task description is in DESCRIPTION.md
signal.Notifywasn't cathing SIGTERM signalproxy.OrderRequesthad 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=7000where 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
