Lexiverse
Lexiverse - 영어 학습자를 위한 AI 기반 문맥 독해 엔진
SSC CGL Tier 2 전용 개인 모의 트래커로, 한 번 저장 시 네 가지 분석 범위·50일 학습 계획·휴대용 JSON 백업 제공
A private mock tracker for SSC CGL Tier 2: four analytical scopes over one saved attempt, a 50-day study plan, and a portable JSON backup.
교육HTML · TypeScriptGitHub @alpha-alexxx온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
SSC CGL Tier 2 mock performance tracker with subject analytics and a warm paper dashboard.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A warm-paper SSC CGL Tier 2 mock tracker built with modern web technologies. Opens to a public landing page; signed-in visitors go straight to their private dashboard.
DESIGN.md and PRODUCT.md for detailed guidelines.[!NOTE] Mobile previews in the repository use illustrative data. The application does not seed mock attempts by default.
The database is PostgreSQL on Neon, accessed exclusively through Prisma and the Neon serverless adapter in Next.js Node route handlers.
ssc_insight (contains MockAttempt, ordered SubjectResult rows, and per-user TrackerSettings).[!WARNING] The private-account migration assigns existing shared mocks to a verified admin identity. Firebase records remain untouched and are not copied automatically. Legacy JSON backups (v1–v4) remain importable; new exports use format v5.
Requires Node.js 22.20+ or Node.js 24. Prisma Client generates automatically on installation.
# 1. Install dependencies
npm ci
# 2. Authenticate and link to Neon
neon login
neon link --org-id <YOUR_ORG_ID> --project-id <YOUR_PROJECT_ID> --branch production -y
# 3. Deploy local services and pull env vars
neon deploy
# 4. Start development server
npm run dev
[!SECURITY] Open
http://localhost:3000in your browser. While the dev server can bind to0.0.0.0for network access, always usehttp://localhost:3000(or your machine's specific LAN address) to ensure OAuth callbacks and redirects preserve the correctHostheader and normalize safely. Avoid exposing the dev server to untrusted networks.
Copy .env.example or use Neon's environment pull. Never commit real values to version control.
| Variable | Purpose |
|---|---|
DATABASE_URL | Pooled PostgreSQL runtime connection. |
DATABASE_URL_UNPOOLED | Direct connection used only by Prisma migration commands. |
NEON_AUTH_BASE_URL | Managed Auth URL ending in /auth. |
NEON_AUTH_COOKIE_SECRET | Cryptographically random secret (≥32 characters). |
GOOGLE_AUTH_ENABLED | Set to true after configuring a production Google OAuth client. |
AI_BASE_URL | Optional OpenAI-compatible base URL (defaults to https://api.openai.com/v1). |
AI_API_KEY | Server-only provider key. Blank disables AI. |
AI_MODEL | Provider model ID. Required to enable AI. |
AI_JSON_MODE | true by default. Set false if the provider rejects response_format. |
AI_DAILY_REQUEST_LIMIT | AI requests per user per IST day (default: 30). |
AI_DAILY_TOKEN_LIMIT | Charged tokens per user per IST day (default: 300000). |
AI_MAX_OUTPUT_TOKENS | Per-call output cap (default: 1200). |
AI_TIMEOUT_MS | Provider timeout below the 60-second route limit (default: 45000). |
AI_CREDENTIAL_SECRET | Encrypts user-entered API keys (AES-256-GCM). 64 hex chars or ≥32-char passphrase. |
CRON_SECRET | Bearer token for /api/cron/trash-cleanup. Generate via . |
[!TIP] Keep every variable server-side. None require a
NEXT_PUBLIC_prefix. Missing Auth configuration fails closed; private records are never returned anonymously.
npm run db:generate
npm run db:migrate
prisma.config.ts loads Next.js environment files and uses the unpooled connection.
[!CAUTION]
- Do not run
prisma migrate reset.- Do not target Neon's managed Auth schema.
- Test new SQL migrations on an expiring branch first.
- The Trash migration (
20261103000000_trash) is additive but order-sensitive. Apply it before deploying the matching app revision to prevent query failures or accidental hard-deletes during rollbacks.
Use Neon Auth's Google provider with your own Google OAuth Web application credentials in production.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗
openssl rand -hex 32