尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗What's on for families, week by week. Compass is a local guide to playgroups, baby groups, rhymetime, classes and one-off family events, kept up to date by the people who go.
It starts in Spelthorne (Staines, Ashford, Stanwell, Sunbury, Shepperton and Laleham) with the council's playgroups leaflet, and is built to grow into other areas and other kinds of event.
| App | TanStack Start (React 19, server functions, SSR so shared links preview properly) |
| Data | Neon Postgres through Drizzle, or an in-memory store when there's no database |
| Rules | A pure TypeScript core in src/core, shared by the browser and the server |
| Checks | zod schemas for every listing, on both sides |
| Styling | Tailwind 4, colours checked for WCAG AA contrast in light and dark |
| Tests | Vitest for the core, the server rules and real Postgres (PGlite); Playwright on desktop and mobile |
src/core Listing schema, dates, term times, the week, filters, freshness, trust, changes
src/data The launch data (from src/data/sources) and Surrey term dates
src/server Storage, sign-in, the service rules, and the server functions pages call
src/routes Pages: the week, coming up, search, a listing, add, change, moderate
The design notes are in CONTEXT.md and docs/adr.
pnpm install
pnpm dev # http://localhost:3000, with in-memory data
pnpm test # unit and Postgres tests
pnpm test:e2e # browser tests (builds first)
pnpm lint && pnpm typecheck
Locally there's no email, so the sign-in page shows the link instead. To moderate, put your
email in MODERATOR_EMAILS. See .env.example for every setting.
DATABASE_URL). Migrations run on each deploy, and an empty database fills itself with the
launch listings on first use.SESSION_SECRET (32+ random characters), MODERATOR_EMAILS, RESEND_API_KEY,
EMAIL_FROM and SITE_URL.VITE_GOOGLE_MAPS_API_KEY.
Restrict it: in Google Cloud, limit it to HTTP referrers https://your-domain/* and to the
Maps JavaScript API only, and set a budget alert. The key is visible in the browser, so the
restriction is what keeps it safe. Without a key the site works; the map just isn't shown.The launch listings come from Spelthorne's playgroups leaflet (September 2025), kept unchanged in src/data/sources. Term dates come from Surrey County Council.