{"id":21026593,"url":"https://github.com/jmoussa/stock-tracer-be","last_synced_at":"2026-04-14T06:02:29.557Z","repository":{"id":113274288,"uuid":"366556656","full_name":"jmoussa/stock-tracer-be","owner":"jmoussa","description":"Stock Tracer RestAPI Backend. Handles Robinhood and Yahoo Finance API queries for historical and user data, as well as user authentication.","archived":false,"fork":false,"pushed_at":"2021-07-31T01:35:21.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-02T15:19:56.453Z","etag":null,"topics":["docker","docker-compose","fastapi","postgresql","python","robinhood","robinhood-api","sqlalchemy","sqlalchemy-python","stock-market","stock-market-analysis","stock-market-analysis-python","stocks"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmoussa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-12T01:22:12.000Z","updated_at":"2021-10-06T10:09:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"a00eae7e-255e-450f-99ed-00d6324eea2b","html_url":"https://github.com/jmoussa/stock-tracer-be","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jmoussa/stock-tracer-be","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmoussa%2Fstock-tracer-be","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmoussa%2Fstock-tracer-be/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmoussa%2Fstock-tracer-be/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmoussa%2Fstock-tracer-be/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmoussa","download_url":"https://codeload.github.com/jmoussa/stock-tracer-be/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmoussa%2Fstock-tracer-be/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31784255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T02:24:21.117Z","status":"ssl_error","status_checked_at":"2026-04-14T02:24:20.627Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","fastapi","postgresql","python","robinhood","robinhood-api","sqlalchemy","sqlalchemy-python","stock-market","stock-market-analysis","stock-market-analysis-python","stocks"],"created_at":"2024-11-19T11:45:25.030Z","updated_at":"2026-04-14T06:02:29.526Z","avatar_url":"https://github.com/jmoussa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stock Tracer Backend\n\nThis is the backend API for the [Stock Tracer Web App](www.github.com/jmoussa/stock-tracer-fe).\nThis API handles \n- Fetching/Caching historical stock data from `yfinance`\n- Authentication\n- User Account \n- User's Explicit Financial Profiling (stored safely)\n\n## Requirements\n\n- Anaconda (for Python environemnt management)\n- Python FastAPI (included in the Anaconda environment) [docs](https://fastapi.tiangolo.com/)\n- PostgreSQL database [docs](https://www.postgresql.org/docs/13/index.html)\n\n## Architecture\n\nThe API caches each call it does, and before the next call is made,\nit checks the database for any request of that stock within the caching time limit\n(default set in `config.json`, and editable by the user in the UI).\n\nAfter the historical data is retrieved (whether from the database or yfinance) the API will format the data\nso that it can be sent to the front-end in the proper format and graphed.\n\n## Set Up and Run the Server\n\nI've set it up so that you only need to use the `run` script to start.\nBe sure to set the S3 environement variables for access.\n\nIn the root directory of the repository:\n\n```bash\nconda env create -f environment.yml\nconda activate stock-tracer \ncd stock_tracer\ncp config/config.json.template config/config.json # edit config.json and fill with your values/credentials for the postgresql database\n\n./run\n```\n\n_For quick API documentation, navigate to `localhost:8000/docs` after starting the server_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmoussa%2Fstock-tracer-be","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmoussa%2Fstock-tracer-be","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmoussa%2Fstock-tracer-be/lists"}