Anonymous Santa Clauses
Draw names for Secret Santa with friends, family or the office. Free, no ads, no passwords: sign in with a magic link, share a code, roll the dice.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Recipe app for the Auth0 humans-and-agents workshop.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Maya’s family recipe box. Cloning the repo is the start. This checkpoint is the setup: Auth0, Neon, Vercel Blob, and the AI Gateway, checked on the web.
The box starts empty. Sign up and Sign in in the header go through Auth0, and Sign out ends the session. Each recipe is stored with that person’s Auth0 id, and the box only returns their cards.
• Write a card, and revise or remove one
• Save a picture to Vercel Blob, or Photograph it with the AI Gateway
• The kitchen chat
• Settings
Google Calendar in Settings is still only a mark on the page.檢視完整 README ↗Live: https://sunday-box.vercel.app
Workshop app for Your First Product: Building for Humans and Agents. / is the public workshop page. The recipe box lives at /box and stays behind login.
Maya’s family recipe box. Cloning the repo is the start. Auth0, Neon, Vercel Blob, and the AI Gateway are checked on the web.
| Module | Title (from this repo) | Status |
|---|---|---|
| 0 | Land the Sunday Box shell as the starting point | Done |
| 1 | Each recipe belongs to the signed-in user | Done |
| 2 | Setup the live kitchen | Done |
| 3 | Token Vault + Google Calendar | Next — Settings is only a mark |
| 4–7 | Upcoming | Not named in this repo yet |
Signed out, / shows the workshop: the Maya story, the module list, the stack, and a Sign in / Get started link to /auth/login?returnTo=/box. Signed-in visitors see Go to your box.
/box is the family box. Sign up and Sign in go through Auth0 and return to /box. Sign out ends the session. Each recipe is stored with that person’s Auth0 id, and the box only returns their cards.
These stay behind login:
/box — the cardsGoogle Calendar in Settings is still only a mark on the page.
pnpm install
cp .env.example .env
pnpm dev
Open http://localhost:3000 for the workshop page, or http://localhost:3000/box for the app. The names in .env.example are the ones the app reads. Auth0’s Next.js SDK also reads .env.local, and that file wins over .env when both exist. Keep real values out of git.
Create a Regular Web Application for Next.js.
http://localhost:3000http://localhost:3000/auth/callbackhttp://localhost:3000Put APP_BASE_URL, AUTH0_DOMAIN, AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, and AUTH0_SECRET in .env.local. Generate the secret with openssl rand -hex 32.
When the app is deployed, add that origin’s /auth/callback and logout URL as well. Production sets APP_BASE_URL (a single origin, or comma-separated origins — the app splits them). Preview leaves it unset — see Deploys.
Create a project and copy the pooled connection string into DATABASE_URL. Apply db/schema.sql with the direct (non-pooler) string. That file creates the recipe table with a required owner column and removes the old shared starter cards.
Create a project, a public Blob store, and an AI Gateway API key.
BLOB_READ_WRITE_TOKEN comes from the Blob storeAI_GATEWAY_API_KEY is for local runs. A Vercel deployment can use its OIDC token insteadAI_GATEWAY_MODEL and AI_GATEWAY_IMAGE_MODEL are the chat and photograph models. The values in .env.example are current ids from the model listSet the same variables on the Vercel project before you deploy.
The Vercel project is sunday-box (team Focus Otter's projects, Pro). Dev here means local: pnpm dev with Development env vars (vercel env pull). There is no custom Vercel dev environment. The flow is local → Preview → merge to main. A merge to main deploys production. Auto-assign custom domains is on, so that production deployment takes https://sunday-box.vercel.app. No manual promote.
| Environment | What it is | APP_BASE_URL | Database |
|---|---|---|---|
| Development (local) | pnpm dev with Development env vars | http://localhost:3000 | Neon branch preview |
| Preview | Every git branch and pull request | Omit it. The app allows VERCEL_BRANCH_URL and VERCEL_URL, and Auth0 infers the request host. | Neon branch preview |
| Production | https://sunday-box.vercel.app after merge to main | https://sunday-box.vercel.app (comma-separated extra origins are split) | Neon branch main |
AUTH0_DOMAIN, AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, AUTH0_SECRET), the AI Gateway model ids, AI_GATEWAY_API_KEY, and BLOB_READ_WRITE_TOKEN.DATABASE_URL points at the Neon preview branch on project sunday-box. Production still uses Neon main.main ships.Pushes to any branch other than main (including this PR) deploy to Preview.
Auth0 does not accept *.vercel.app wildcards. Add each origin exactly on the Regular Web Application (demo-showcase.us.auth0.com).
Always
http://localhost:3000/auth/callbackhttp://localhost:3000https://sunday-box.vercel.app/auth/callbackhttps://sunday-box.vercel.appAfter each new feature branch, add that branch’s VERCEL_BRANCH_URL the same way. Unique deploy hosts (sunday-<id>-focus-otters-projects.vercel.app) work only if you add them too; prefer the branch alias.
main → production deploys and takes sunday-box.vercel.app.With the dev server running, or on the deployed URL:
/ is the workshop page. /box sends you to sign in./box. The box is empty until you write a card./box for this sign-in./box asks you to sign in again. Sign in and the card is back.