A stock market simulator is a webapp where users buy and sell real life stocks using virtual money. Users have to pay the actual market price and all the other charges to buy the stocks.
You need a working Python 3.6 (3.6.7 to be accurate) environment along with pip
installed. To install required modules, run :
- On Linux/MacOS :
pip3 install -r requirements.txt
- Windows :
pip install -r requirements.txt
- CLIENT
- Make the protocols for connection between MDU & CLIENT and CLIENT & BOOK.
- Send a TCP request to MDU with CLIENT IP address to start receiving data from MDU.
- Make the Backend functions of the CLIENT.
- Reading the data from .json file which was received from MDU.
- Encrypting the buy/sell order to sent it to BOOK server.
- Sending the Encrypted data to BOOK and receiving the acknowledgment from BOOK server.
- Storing the list of stocks available in cache.
- BOOK
- Make the protocols for connection between MDU & BOOK and BOOK & CLIENT.
- Make the Database schema for BOOK.
- Make the Backend functions of the BOOK.
- Decrypting the data received from CLIENT.
- Reading the data from .json file which was received from MDU.
- Updating the database with the data received from CLIENT and MDU.
- Sending the acknowledgment to the CLIENT.
- MDU
- Make the protocols for connection between MDU and CLIENT.
- Establish TCP connection with client, get its IP address and terminate the session.
- Load the CSV file. (Should be a separate function because we may replace it with an API)
- Multicast data every second to the CLIENT(s) according to the Stock Market timings.
- Make a component of Login (for registered user)
- Make a component of Sign Up (for unregistered user)
- Make sure user can switch from Login to Sign Up.
- There will be a dashboard. Users will only get access to this once they Login. This page will also be separated into several components.
TBD
TBD
Read the CONTRIBUTING.md file.
In general, we follow the "branch-and-pull" Git workflow.
- Clone the project to your own machine.
- Create your branch.
- Work on your branch.
- Make your changes and additions.
- Change or add tests if needed.
- Run tests and make sure they pass.
- Add changes to README.md if needed.
- Commit changes to your own branch.
- Make sure you merge the latest from
master
and resolve conflicts if there is any. - Repeat step 3 above.
- Push your work back up to your branch.
- Submit a Pull request so that we can review your changes.
- supragya - Supragya Raj (author)
- DeboDevelop - Debajyoti Dutta
TBD