尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Aptitude screening for NDA coaching admissions. Staff issue a 15-question, 15-minute reasoning test to a candidate; the parent receives the link on WhatsApp, the candidate takes it within three hours, and it grades itself.
Handles minors' personal data. This repository must stay private.
npm install
cp .env.example .env.local # then fill it in — see below
npm run dev
.env.local needs the Supabase project URL, anon key and service-role key,
plus NEXT_PUBLIC_APP_URL and a CRON_SECRET. It is gitignored and must stay
that way — the service-role key bypasses every RLS policy.
Create the first staff account, since the Supabase dashboard cannot set the role that RLS reads:
npm run staff:add -- [email protected] <password> superadmin
npm run staff:list # flags any account with no role
Seed the item bank:
npm run items:seed -- --live
Issue a test link without the console, for local testing:
npm run issue -- "Candidate Name" 9876543210
Run all of these before calling anything done.
| Command | What it covers |
|---|---|
npm run lint | ESLint, including the react-hooks rules |
npm run typecheck | tsc --noEmit |
npm test | 111 unit tests over the pure modules |
npm run test:integration | 35 tests against a real database |
npm run items:lint | Item shape, duplication, answer-length tells |
npm run build:check | Production build, into .next-verify |
npm run db:verify | Schema and constraints (empty database only) |
npm run db:verify-rls -- <email> <pass> | RLS as a real staff session (empty database only) |
Never run next build while next dev is live. It overwrites the .next
directory the dev server is serving from, every asset 404s, and nothing in the
output explains why. npm run build:check writes to .next-verify instead.
The two database probes write rows, so they refuse to run against a database holding real leads and exit 2 — a skip, not a failure. They are development tools, not a production health check.
Migrations live in supabase/migrations and are applied deliberately, never by
a deploy:
npx supabase db push --db-url "postgresql://postgres:<password>@db.<ref>.supabase.co:5432/postgres"
Rules are enforced by constraints and triggers rather than application code —
the reissue cap, the MCQ/numeric item shape, answer idempotency, and the
assessment state machine. npm run db:verify checks the database actually
rejects what it claims to.
See DEPLOY.md. Two things that will bite:
NEXT_PUBLIC_APP_URL must be the deployed origin. The staff console
builds the candidate link from it; left at localhost, every link it produces
is unusable.