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,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Mountain weather and trip reports for the Northeast
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Mountain weather and trip reports for the Northeast. Bannquet pulls National Weather Service forecasts for summits and valleys across the Adirondacks, Catskills, Shawangunks, Green Mountains, White Mountains and Maine, and keeps published trip reports for the crew.
Live at bannquet.com.
config/weather-regions.json, so adding a spot is a data change./peaks lists the Catskill 35, Adirondack 46, New Hampshire 48, Vermont 4000-footers, Maine 4000-footers, and the New England 67 as those three New England lists together. A summit counts only when someone logs “I climbed this.” The lists live in config/challenges. A finished list shows a small 88×31 badge on the stats page and on that person's profile. /stats keeps the miles, elevation, and summit leaderboards for on foot, bike, and ski./community links to posts, peaks, stats, trips, and the map. Posts, peaks, stats, and trips share a small sub-nav./trips is a light planner: a title, a date, notes, an I'm-in toggle, attached pins, routes and photos, and a shared packing list. Templates for day hike, overnight, winter, bike, and ski live in config/packing-templates.json../conditions, which lists the same National Weather Service extremes and the spots behind them.More detail on the weather endpoints is in API_DOCUMENTATION.md.
Next.js 16.3, React 19.2, TypeScript, Tailwind CSS 4, Framer Motion, Drizzle ORM, and Neon Postgres. Weather comes from the NWS API. Deployed on Vercel.
You need Node.js 20 or newer.
npm install
npm run dev
Then open http://localhost:3000. Copy .env.example to .env.local.
Weather pages work with no keys. Mountain fishing reads USGS water data without a key, on a low rate limit. Set USGS_WATER_DATA_API_KEY (or WATER_DATA_API_KEY) on Vercel for the higher limit. Trip reports stay empty until DATABASE_URL points at a Postgres database and the schema has been migrated. Reading the site stays public. Anyone can make an account at /sign-up. Until Jake approves them on /admin, they can sign in and read, but they cannot post or edit. An invite link from /admin still skips that wait. After that they sign in with email and password. ADMIN_EMAIL is the address that can sign in without an invite and is stored as admin. Sessions last a week and refresh when someone comes back, which is as long as Neon Auth keeps them. Photo uploads need BLOB_READ_WRITE_TOKEN from the Vercel Blob store.
DATABASE_URL is the pooled Neon connection (the host contains -pooler). DATABASE_URL_UNPOOLED is the direct connection Drizzle uses for migrations.
npm run db:generate # write a new SQL migration from src/db/schema.ts
npm run db:migrate # apply drizzle/ to DATABASE_URL_UNPOOLED
Run migrations against a Neon branch before production. The first migration enables PostGIS.
Old /trip-reports/<id> links redirect to /posts/<id>. The public feed is /posts. Profile pages live at /user/<username>; /hikers/<username> redirects there.
npm run dev starts the dev servernpm run build builds for productionnpm run start serves the production buildnpm run lint runs ESLintnpm run typecheck runs TypeScriptnpm test runs the small node testsThe live-conditions socket server for the user map is a separate project, bannquet-io.