{"id":37667379,"url":"https://github.com/albertov5/whop-higher-order-functions","last_synced_at":"2026-01-16T12:00:07.826Z","repository":{"id":305428685,"uuid":"1022856007","full_name":"AlbertoV5/whop-higher-order-functions","owner":"AlbertoV5","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-12T18:32:12.000Z","size":357,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T11:24:56.006Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/AlbertoV5.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}},"created_at":"2025-07-20T01:43:34.000Z","updated_at":"2025-08-22T21:47:20.000Z","dependencies_parsed_at":"2025-07-20T04:15:33.301Z","dependency_job_id":"4c0ec538-0762-4430-82aa-99fdfb9aaa10","html_url":"https://github.com/AlbertoV5/whop-higher-order-functions","commit_stats":null,"previous_names":["albertov5/whop-higher-order-functions"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AlbertoV5/whop-higher-order-functions","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoV5%2Fwhop-higher-order-functions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoV5%2Fwhop-higher-order-functions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoV5%2Fwhop-higher-order-functions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoV5%2Fwhop-higher-order-functions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlbertoV5","download_url":"https://codeload.github.com/AlbertoV5/whop-higher-order-functions/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoV5%2Fwhop-higher-order-functions/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"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":[],"created_at":"2026-01-16T12:00:07.323Z","updated_at":"2026-01-16T12:00:07.732Z","avatar_url":"https://github.com/AlbertoV5.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whop Higher Order Functions (WHOOF)\n\n## Introduction\n\nWhoof aims to provide tools to create templates / frameworks for creating Whop Applications via their SDK.\n\n## Principles\n\n### Authentication As Config\n\nAbstract out Whop authentication and user access methods. Focus on the business logic of your functions and move repetitive tasks out of the way.\n\n### Upgrade The Architecture Easily\n\nUse OpenNext instead of Vercel while keeping resource creation simple via IaC tools. Bypass Vercel and use AWS directly (or other providers), while keeping resources as config.\n\n### Automate The Boring Stuff\n\nAbstract out database config and migrations. Simplify connection configuration and automate migration as much as possible while being able to use both local and remote connections for dev. Improving DevEx and CI/CD.\n\n### App Starts At The Database Level\n\nDon't abstract the database logic. Keep queries as close to SQL via Drizzle. These tools should not be reductionistic with the app's data structure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertov5%2Fwhop-higher-order-functions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbertov5%2Fwhop-higher-order-functions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertov5%2Fwhop-higher-order-functions/lists"}