Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A responsive, gamified calculation-practice frontend for SBI Clerk, IBPS Clerk/CSA and IBPS RRB Office Assistant preparation.
Enter submit, Esc pause, Space resume)/practice/session?cat=tables&diff=medium&n=20) and results live at <setup>/result/[sessionId]src/components/ui + components.json)Data is stored in Upstash Redis (or in a local .data/ folder during development). Mock tests also need a Gemini API key.
npm install
npm run dev
Then open:
http://localhost:3000
Put a Gemini key in .env.local (see .env.example):
GEMINI_API_KEY=your-key
Run npm run dev, log in, then open Mock Tests, upload a prelims PDF, then generate as many tests as you like.
How it works:
src/app/api/mock/sources/route.ts). Every generated test follows the paper's exact pattern: the same sections, topics, question counts and order (paperPattern / buildMockTest in src/lib/mock-generator.ts).? in the middle, and an answer formula evaluated safely by src/lib/expression.ts. A template is used only if feeding it the original numbers gives the original answer. New numbers keep the original's digit count and roundness, the answer stays the same size, and wrong options sit as close to the answer as the original's did.GEMINI_API_KEYS, a key that runs out of quota or is revoked is rested and the work continues on the next key (src/lib/server/gemini-keys.ts). Vercel functions only accept 4.5 MB per request, so on Vercel the browser uploads the PDF to Vercel Blob first; the server reads it from there and deletes it. Connect a Blob store (Storage → Blob, choose Private) to the project for PDFs over 4 MB; both newer stores (BLOB_STORE_ID, signed in through Vercel OIDC) and older ones (BLOB_READ_WRITE_TOKEN) work.npm run lint
npx tsc --noEmit
npm run build
/login and /signup needs an account. src/proxy.ts redirects visitors without a session cookie; every API route checks the session itself (src/lib/server/auth.ts).src/lib/server/store.ts), so one account can never read another's.applySession in src/lib/stats.ts), so two devices don't overwrite each other.KV_REST_API_URL and KV_REST_API_TOKEN..data/ (git-ignored). To use the Vercel database locally instead, run vercel env pull .env.local.src/
app/ # Next.js routes
components/
app-shell.tsx # Responsive application shell
exam/ # IBPS / SBI-style mock test interface
session-engine.tsx # Core practice/game loop
session-route.tsx # Builds a session from its URL
session-setup.tsx # Practice configuration
ui/ # Local UI primitives
constants/ # Category definitions
context/ # Auth and stats providers (synced with the server)
lib/
question-generator.ts # Dynamic question generation + answer checking
session-url.ts # Session settings <-> URL query
gemini.ts # Server-only Gemini calls for mock tests
server/ # Auth, database access and API helpers (server only)
mock-generator.ts # Builds mock tests from parsed papers
stats.ts # Analytics, XP, levels, weak areas
types/ # Shared TypeScript models