Day trader is a stock exchange platform built for performance and reliability.
In order to use the current version(golang) you need to docker-compose up in several different directories:
- in frontend
docker-compose up
- in golang/day_trader
docker-compose up
- in golang/logging
docker-compose up
- in quote_server
docker-compose up
This project is implemented in 2 different ways:
- Rest communication
- Nginx LB
- Redis job queue
- Django_rq workers
- Memcached for caching
- Mysql DB
Front end:
- React
Backend:
- GRPC communication
- Envoy LB
- Memcached for caching
- Mysql Db
In order to use the current version(golang) you need to docker-compose up in several different directories:
- in frontend
docker-compose up
- in golang/day_trader
docker-compose up
- in golang/logging
docker-compose up
- in quote_server
docker-compose up
To run the generator you must have completed the previous development step.
- in golang/workload_generator
docker-compose up
- The workload file can be changed to simulate different user workloads
To run the quote server, cd quote_server
and run docker-compose up
To test the golang app, cd golang/day_trader/test_infrastructure
then run docker-compose up
Note - Since this uses a real db and cache, you must docker-compose down every time you want to retest