{"id":19408679,"url":"https://github.com/ninest/husker-gym","last_synced_at":"2025-10-16T18:56:44.537Z","repository":{"id":65850411,"uuid":"588824741","full_name":"ninest/husker-gym","owner":"ninest","description":"🏃 Find the best times to go to the gym","archived":false,"fork":false,"pushed_at":"2025-01-15T20:51:17.000Z","size":726,"stargazers_count":6,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-24T10:42:23.433Z","etag":null,"topics":["database","mysql","orm"],"latest_commit_sha":null,"homepage":"https://husker-gym.vercel.app/","language":"TypeScript","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/ninest.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},"funding":{"github":"ninest","patreon":null,"open_collective":null,"ko_fi":"parthkabra","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":["https://www.buymeacoffee.com/ninest"]}},"created_at":"2023-01-14T06:02:59.000Z","updated_at":"2025-01-15T20:51:19.000Z","dependencies_parsed_at":"2024-03-19T21:51:44.115Z","dependency_job_id":"970a0da8-c181-4144-9690-1ad279bc6027","html_url":"https://github.com/ninest/husker-gym","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ninest/husker-gym","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fhusker-gym","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fhusker-gym/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fhusker-gym/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fhusker-gym/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ninest","download_url":"https://codeload.github.com/ninest/husker-gym/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ninest%2Fhusker-gym/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279227535,"owners_count":26130303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["database","mysql","orm"],"created_at":"2024-11-10T12:07:22.808Z","updated_at":"2025-10-16T18:56:44.495Z","avatar_url":"https://github.com/ninest.png","language":"TypeScript","funding_links":["https://github.com/sponsors/ninest","https://ko-fi.com/parthkabra","https://www.buymeacoffee.com/ninest"],"categories":[],"sub_categories":[],"readme":"# Husker Gym\n\n\n\u003e Find the best times to go to the gym\n\nThis website displays charts and visualizations to show how crowded the Northeastern gyms usually are. It works by scraping the [live counts website](https://connect2concepts.com/connect2/?type=circle\u0026key=2A2BE0D8-DF10-4A48-BEDD-B3BC0CD628E7) which is updated every 30 minutes or so by the gym proctors. All the scraping is done in [husker-nu/gymtime](https://github.com/husker-nu/gymtime).\n\nIf you're interested in getting updates on this project, join the [mailing list](http://eepurl.com/imB7zE).\n\n## Images\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/main.png\" width=\"40%\"\u003e\n  \u0026nbsp;\n  \u003cimg src=\"./assets/day.png\" width=\"40%\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/week.png\"  width=\"40%\"\u003e\n  \u0026nbsp;\n  \u003cimg src=\"./assets/week-info.png\"  width=\"40%\"\u003e\n\u003c/p\u003e\n\n## Development\n\nConnect to the planetscale DB for local development:\n\n```bash\npscale connect gymtime main\n```\n\nand set the database URL:\n\n```bash\nDATABASE_URL = 'mysql://127.0.0.1:3306/gymtime'\n```\n\n## Reference\n\n### Prisma schemas reference\n\nPlanetscale does not support foreign keys, so add to `schema.prisma`:\n\n```diff\ndatasource db {\n  provider     = \"mysql\"\n  url          = env(\"DATABASE_URL\")\n+ relationMode = \"prisma\"\n}\n```\n\nRun `npx prisma db pull`, then add relation fields manually taking reference from the [introspection docs](https://www.prisma.io/docs/getting-started/setup-prisma/add-to-existing-project/relational-databases/introspection-node-planetscale).\n\n### [TODO] Indexes\n\n[Relation mode](https://www.prisma.io/docs/concepts/components/prisma-schema/relations/relation-mode#indexes)\n\n\u003e With `relationMode = \"prisma\"`, no foreign keys are used, so relation fields will not benefit from the index usually created by the relational database under the hood. This can lead to poor performance when querying these fields. Indexes should be added manually.\n\n### Prisma client\n\nGenerate the prisma client with\n\n```bash\nnpx prisma generate\n```\n\n## Contributors\n\n- [Parth Kabra](https://www.parthkabra.me/)\n- ... (more from Northeastern Electric Racing)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninest%2Fhusker-gym","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fninest%2Fhusker-gym","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fninest%2Fhusker-gym/lists"}