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.