This is a home assignment task I completed during one of recruitment processes. Task description is available in ./doc/description.pdf.
- proto spec is in ./exchange/exchange.proto
go:generate
command is in ./generate.go- call
go generate
from command line to generate code - generated code will be in ./exchange/generated/exchange.pb.go
- generated code is git-ignored
- I haven't added endpoint for placing single order because this is just a special case of sending a batch of orders
- source code is in ./cache
- logic is in ./cache/cmd/main.go
- two fake providers are implemented in ./cache/supply/providers/grouping/provider.go and ./cache/supply/providers/individual/provider.go
- to run it call
go run ./cache/cmd
- please read ./freeze/doc.md