{"id":38650433,"url":"https://github.com/jyablonski/nba_elt_rest_api","last_synced_at":"2026-01-17T09:19:33.165Z","repository":{"id":52678407,"uuid":"521057861","full_name":"jyablonski/nba_elt_rest_api","owner":"jyablonski","description":"REST API for NBA ELT Project","archived":false,"fork":false,"pushed_at":"2025-11-20T14:46:26.000Z","size":1569,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-20T16:22:45.091Z","etag":null,"topics":["fastapi","python"],"latest_commit_sha":null,"homepage":"https://api.jyablonski.dev","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/jyablonski.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-03T23:09:22.000Z","updated_at":"2025-08-18T23:09:46.000Z","dependencies_parsed_at":"2023-09-30T23:45:48.980Z","dependency_job_id":"9b8a87f8-0a11-42ea-945b-afe6be314452","html_url":"https://github.com/jyablonski/nba_elt_rest_api","commit_stats":null,"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"purl":"pkg:github/jyablonski/nba_elt_rest_api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fnba_elt_rest_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fnba_elt_rest_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fnba_elt_rest_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fnba_elt_rest_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jyablonski","download_url":"https://codeload.github.com/jyablonski/nba_elt_rest_api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jyablonski%2Fnba_elt_rest_api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28505208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"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":["fastapi","python"],"created_at":"2026-01-17T09:19:32.647Z","updated_at":"2026-01-17T09:19:33.107Z","avatar_url":"https://github.com/jyablonski.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# REST API for NBA ELT Project\n\n![CICD](https://github.com/jyablonski/nba_elt_rest_api/actions/workflows/ci_cd.yaml/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/jyablonski/nba_elt_rest_api/badge.svg?branch=master)](https://coveralls.io/github/jyablonski/nba_elt_rest_api?branch=master) [![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n\nVersion: 1.11.2\n\n## About the Project\n\nThe REST API has the following functionalities:\n\n- Serves Data built from the NBA ELT Pipeline through various GET endpoints\n- Hosts a user-facing Frontend that Allows people to login \u0026 make NBA Game Win Predictions and Betting\n- Hosts an Internal Admin Frontend w/ various pages to manage things like Feature Flags and other functionality used throughout the project\n\nThe Project uses:\n\n- A Postgres Database for the backend\n- A Redis Database to enable caching across various endpoints to improve performance\n- JWT for Authentication and Authorization\n\n## Running The App\n\nClone the Repo \u0026 run `make up` which spins up the App locally served [here](http://localhost:8080/) using 3 Docker Containers:\n\n- Postgres Database\n- Redis Database\n- FastAPI Server\n\nTo Login to the App locally, a set of Credentials for an Admin User are listed below:\n\n- Username: `test1`\n- Password: `password`\n\nWhen finished run `make down` to spin resources down.\n\n## Tests\n\nTo run tests locally, run `make test`.\n\nThe same Test Suite is ran after every commit on a PR via GitHub Actions.\n\n## Project\n\n![nba_pipeline_diagram](https://github.com/jyablonski/nba_elt_rest_api/assets/16946556/12d00fcf-1d5a-4ced-a392-b7a8de239ff2)\n\n1. Links to other Repos providing infrastructure for this Project\n   - [Dash Server](https://github.com/jyablonski/nba_elt_dashboard)\n   - [Ingestion Script](https://github.com/jyablonski/nba_elt_ingestion)\n   - [dbt](https://github.com/jyablonski/nba_elt_dbt)\n   - [Terraform](https://github.com/jyablonski/aws_terraform)\n   - [ML Pipeline](https://github.com/jyablonski/nba_elt_mlflow)\n   - [Interal Documentation](https://github.com/jyablonski/doqs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjyablonski%2Fnba_elt_rest_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjyablonski%2Fnba_elt_rest_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjyablonski%2Fnba_elt_rest_api/lists"}