* ToDo [0/4] - [-] Meta [1/5] - [ ] README - [ ] Expand acronym for bullish - [ ] Prettify README - [ ] License - [ ] Usage - [ ] Contributing - [ ] Attributions - [X] LICENSE - [ ] CONTRIBUTING - [ ] Link to ARCHITECTURE - [ ] ARCHITECTURE - [ ] Where’s the thing that does X? - [ ] What does the thing that I am looking at do - [ ] Inspiration - [ ] [[https://github.com/kubecost/docs/blob/master/architecture.md][kubecost architecture.md]] - [ ] [[https://github.com/git/git-scm.com/blob/master/ARCHITECTURE.md][git-scm architecture.md]] - [ ] [[https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/architecture.md][rust-analyzer architecture.md]] - [ ] TODO - [ ] Clear all tasks - [-] Backend Django [2/4] - [X] Base setup for DJango + Vue - [X] Async (RQ mostly) job to download the equity [[https://www.bseindia.com/markets/MarketInfo/BhavCopy.aspx][bhavcopy zip]] every day at 6 PM for the current date - [X] Verify [[https://www.bseindia.com/download/BhavCopy/Equity/EQ050221_CSV.ZIP][this link]] doesn't change per day (check web archive) - this changes everyday, the zip file is of the format "EQ`DDMMYY`_CSV.ZIP" - [X] RQ job to which starts at 6 pm - [X] extracts and parses the CSV file in it - [X] dump data into postgres and redis - [X] if fails at 6 pm starts again after 5 mins + potential code for alert - [X] Writes the records into Redis into appropriate data structures (Fields: code, name, open, high, low, close) - [X] make multiple endpoints - [-] Endpoint to serve main app - [X] If cache empty load from postgres and put it into redis - [ ] Button for Pagination - [ ] No Pagination - [ ] Pagination to return 100 entries - [ ] Login - [ ] Open endpoint without login - [ ] Allow google auth for emails ending in `zerodha.com` or `zerodha.tech` or `shenoy.ameya@gmail.com` - [ ] JWT - [ ] Optionally have a demo username and password for login - [-] Frontend Vue [1/6] - [ ] Landing Page - [ ] Prettify Bhav Copy Page - [X] Renders a simple VueJS frontend with a search box that allows the stored entries to be searched by name and renders a table of results and optionally download the results as CSV. Make this page look nice - [X] Search field to search on name - [X] Button to download searched results as CSV - [ ] Handle login - [ ] On table bar per quantity in cell - [ ] Red for stocks going down, green for up - [ ] Deploy [0/4] - [ ] Docker - [ ] Dockerfile - [ ] docker-compose.yml - [ ] Productionize K8s - [ ] Make Architecture diagram - [ ] [bullish.codingcoffee.me](https://bullish.codingcoffee.me)