尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Placement aptitude duels. Two players race through the same 5 questions (quant, reasoning, verbal), and the faster, more accurate one gains rating. Modes: challenge a friend with a link, Quick Match against a player near your rating, a Daily Challenge that's the same for everyone, and company practice built from the topics on TCS NQT, Infosys, Accenture and Wipro tests.
web/: the Next.js appsupabase/migrations/: tables, row-level security and every game rule, as Postgres functionssupabase/seed.sql: the question bank, generated by scripts/generate-questions.tsAll game logic runs in the database. Clients only call the functions granted at the bottom of the migrations, so scoring, timing and ratings can't be tampered with from the browser.
supabase/migrations/ in order (0001 → 0011), then run supabase/seed.sql. Every migration after 0001 is safe to run more than once. Then run supabase/record-migrations.sql, so Database → Migrations lists them too (add a line to it for each new migration).smtp.gmail.com, port 465, with your Gmail address as the username and sender, and a Google app password as the password.{{ .Token }} in the body. Players save their account and sign in with that code, not a link.cd web
cp .env.example .env.local # fill in your project URL and publishable key
npm install
npm run dev # http://localhost:3000
cd web
npm test # unit tests for the helpers in src/lib
node scripts/smoke.mjs # end-to-end game rules, against a test project
The smoke test plays real duels between guest players, then checks scoring, ratings, the daily rules and the anti-cheat rules. It writes real data, so point .env.local at a separate test project (a second free Supabase project works) or a local supabase start. Against a hosted project it refuses to run unless you set SMOKE_ALLOW_REMOTE=1.
ios/ holds the native SwiftUI app. It uses the same database functions, so accounts, ratings and challenge links work across the app and the website. Open ios/Apticks.xcodeproj in Xcode and press Run. ios/README.md covers the module layout, tests and universal links.
Visitors play as anonymous guests, and their rating is stored in that browser. On the profile page they can save the account with an email. That keeps the same account and rating, so they can sign in on another device. The profile page can also sign out or delete the account. Deleting removes the name, college, email and rating; the player's duels stay in their opponents' history as "Deleted player", so nobody else loses results.
node scripts/generate-questions.ts # rewrites supabase/seed.sql (Node 22.6+)
Quant and most reasoning questions are generated from templates with computed answers. Picture questions are SVG figures. Verbal questions are hand-written. Running the seed again updates existing questions without creating duplicates.
.github/workflows/ci.yml runs lint, typecheck, the unit tests and a production build on every push to main and on every pull request.