{"id":40199698,"url":"https://github.com/samtgarson/books-about-food","last_synced_at":"2026-01-19T20:30:42.881Z","repository":{"id":219634266,"uuid":"582999637","full_name":"samtgarson/books-about-food","owner":"samtgarson","description":"The cookbook industry's new digital home","archived":false,"fork":false,"pushed_at":"2026-01-11T17:14:12.000Z","size":11092,"stargazers_count":9,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-11T20:15:08.276Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://booksabout.food","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/samtgarson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","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-12-28T13:18:44.000Z","updated_at":"2025-12-21T18:54:50.000Z","dependencies_parsed_at":"2024-04-26T18:30:46.646Z","dependency_job_id":"4b66d840-9270-499f-b629-989b7bb1ca94","html_url":"https://github.com/samtgarson/books-about-food","commit_stats":null,"previous_names":["samtgarson/books-about-food"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/samtgarson/books-about-food","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samtgarson%2Fbooks-about-food","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samtgarson%2Fbooks-about-food/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samtgarson%2Fbooks-about-food/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samtgarson%2Fbooks-about-food/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/samtgarson","download_url":"https://codeload.github.com/samtgarson/books-about-food/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/samtgarson%2Fbooks-about-food/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28583781,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T19:46:29.903Z","status":"ssl_error","status_checked_at":"2026-01-19T19:45:54.560Z","response_time":67,"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-19T20:30:33.370Z","updated_at":"2026-01-19T20:30:42.824Z","avatar_url":"https://github.com/samtgarson.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"web/src/app/apple-icon.png\" width=\"100px\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eBooks About Food\u003c/strong\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  Beautifully designed cookbooks and the people making them.\u003cbr /\u003e\n  \u003ca href=\"https://booksaboutfood.info\"\u003e\u003cstrong\u003eLearn more »\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/samtgarson/books-about-food/actions/workflows/deploy.yml\"\u003e\n    \u003cimg src=\"https://github.com/samtgarson/books-about-food/actions/workflows/deploy.yml/badge.svg?branch=main\" alt=\"Test \u0026amp; Deploy\" style=\"max-width: 100%;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"CODE_OF_CONDUCT.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\" alt=\"Contributor Covenant\" data-canonical-src=\"https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg\" style=\"max-width: 100%;\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### Built With\n\n- [Next.js](https://nextjs.org/)\n- [React.js](https://reactjs.org/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [Prisma.io](https://prisma.io/)\n- [Inngest](https://inngest.com/)\n- [React Email](https://react.email/)\n\n## Getting Started\n\nTo get a local copy up and running, please follow these simple steps.\n\n### Prerequisites\n\n- Node.js (Version: \u003e=20.x)\n- PostgreSQL\n- NPM\n\n\u003e BAF relies on `npm workspaces` to manage multiple components simultaneously, it's untested with yarn or pnpm.\n\n### Setup\n\n1. You'll need environment variables set up for each package. Each package that needs a `.env` file locally has a `.env.example` file checked in, on unix systems you can find them with `find . -name \".env*\"`. Copy these and fill in the missing values.\n\n2. Run `npm run dev` to run the local development servers for _all_ relevant packages.\n\n### Packages:\n\n|                      | Directory                                 | Description                                                                          |\n| -------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------ |\n| **Next.js Frontend** | [/web](`web`)                             | A user facing frontend app built with Next.js                                        |\n| **Admin Backend**    | [/admin](`admin`)                         | A server connecting to Forest with customisations. Also acting as server for Inngest |\n| **Core Services**    | [/packages/core](`packages/core`)         | A set of shared services, with consistent APIs, for performing business logic.       |\n| **Database**         | [/packages/database](`packages/database`) | Prisma schema and client instantiation                                               |\n| **End to End tests** | [/packages/e2e](`packages/e2e`)           |  a set of black-box e2e specs for testing critical flows                             |\n| **Email**            | [/packages/email](`packages/email`)       | Email templates using react.email, including a development preview server            |\n| **Jobs**             | [/packages/jobs](`packages/jobs`)         | A set of asynchronous background jobs, run as functions using Inngest                |\n\n### Development Apps\n\n1. **Frontend → [`http://localhost:5000`](http://localhost:5000)**\n2. **Admin Backend\\* → [`http://localhost:5001`](http://localhost:5001)**\n3. **Email preview → [`http://localhost:3883`](http://localhost:3002)**\n4. **Inngest dev server → [`http://localhost:8288`](http://localhost:8288)**\n\n\u003csub\u003e\u003cem\u003e\\*(N.B. this is not designed to be accessed in the browser, only via Forest, Inngest or API call)\u003c/em\u003e\u003c/sub\u003e\n\n### End To End Tests\n\nRight now, the end to end tests in the `e2e/tests` project are run on merge to main against a production preview deployment. These require a production-equivalent environment to pass.\n\nRun `npx playwright install chromium` to download a test browser.\n\n## Deployment\n\nThe web frontend for booksaboutfood.info is deployed to Vercel, but can be deployed to any Node server.\n\nThe admin backend server for Forest requires a long running Node process, so is more suitable for a platform like Heroku, Digital Ocean, etc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamtgarson%2Fbooks-about-food","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamtgarson%2Fbooks-about-food","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamtgarson%2Fbooks-about-food/lists"}