* ToDo [/] - [ ] Meta [/] - [ ] README - [ ] Expand acronym for bullish - [ ] Prettify README - [ ] 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 [/] - [ ] Base setup for DJango + Vue - [ ] 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 - [ ] 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" - [ ] RQ job to which starts at 6 pm - [ ] extracts and parses the CSV file in it - [ ] dump data into postgres and redis - [ ] if fails at 6 pm starts again after 5 mins - [ ] Writes the records into Redis into appropriate data structures (Fields: code, name, open, high, low, close) - [ ] Endpoint to serve main app - [ ] 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 [/] - [ ] Landing Page - [ ] 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 - [ ] Search field to search on (Fields: code, name, open, high, low, close) - [ ] Button to download searched results as CSV - [ ] Handle login - [ ] Deploy [/] - [ ] Docker - [ ] Dockerfile - [ ] docker-compose.yml - [ ] K8s - [ ] Make Architecture diagram - [ ] [bullish.codingcoffee.me](https://bullish.codingcoffee.me)