Lexiverse
Lexiverse - 영어 학습자를 위한 AI 기반 문맥 독해 엔진
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기DEBUG — online coding contest for students (Trace / Debug / Build). AI-native workflow: brainstorm → plan → issues → PM / Engineer / QA. Next.js + Prisma + SQLite.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Online coding contest for students: three timed rounds — Trace (read code), Debug (fix one line), Build (write a function). Python runs in the browser (Pyodide), hidden tests are checked on the server, live leaderboard, operator/admin panel, AI/copy analysis (never a verdict). UI in Kazakh.
Stack: Next.js 15 (App Router, React 19, TypeScript) · Prisma ORM + PostgreSQL · openapi.yml contract ·
one Docker image (static frontend + API) · Docker Compose · Playwright · GitHub Actions · AWS CloudFormation.
Live:
main through the Vercel GitHub integration).main
(address: repository variable SITE_URL, see infra/aws/README.md).cp .env.example .env # first time only: set SESSION_SECRET (≥ 32 chars), ADMIN_EMAIL, ADMIN_PASSWORD
docker compose up --build # app + PostgreSQL → http://localhost:3000 (admin: /admin)
docker compose down # stop, data stays in the pgdata volume · docker compose down -v — delete the data
The app container applies migrations on start and, with SEED_ON_START=1 (default in .env.example), creates the
admin and the first contest. GET /api/health → {"ok":true,"db":"up","version":"…"}.
Node 22.9+, Docker for the database (or any PostgreSQL 15+).
npm install
cp .env.example .env # first time only (do not overwrite an existing .env)
npm run db:up # PostgreSQL from compose.yml on 127.0.0.1:${DB_PORT:-5432} (port busy? DB_PORT=5433 in .env)
npm run db:seed # admin + «DEBUG · Студенттер» contest with 16 tasks
npm run dev # applies migrations, http://localhost:3000
UI only, no backend: npm run dev:mock (MOCK badge; demo accounts [email protected] / demo-pass-1,
admin [email protected] / admin-pass-1, stored only in the browser).
npm test # unit + frontend mock client + openapi contract + store contract (Memory, Postgres) + data import
npm run test:e2e # API e2e (contest, auth, admin) on the real server: memory and postgres
npm run test:pw:compose # Playwright: builds the image, starts app + Postgres, 15 feature specs + integration, desktop + 375 px
npm run build # type check + production build
Tests that need Postgres use TEST_DATABASE_URL (default postgresql://debug:debug@localhost:5432/debug); every run
creates its own schema and drops it afterwards.
.github/workflows/ci.yml on every push and pull request: unit (with a Postgres service) · api-e2e ·
build · docker-e2e (image + Compose + Playwright, report uploaded on failure) · infra-lint (cfn-lint).
On a push to main that passes everything, deploy assumes an AWS role through GitHub OIDC (no stored keys), pushes
the linux/amd64 image to ECR, rolls it out over SSM and waits until /api/health reports the commit SHA. Until the
repository variables from infra/aws/README.md exist, the deploy job is skipped with a notice.
DATABASE_URL,
DATABASE_URL_UNPOOLED, POSTGRES_PRISMA_URL). Project env: SESSION_SECRET, ADMIN_EMAIL, ADMIN_PASSWORD,
CRON_SECRET, NEXT_PUBLIC_SITE_URL. The build (scripts/vercel-build.sh) migrates through the unpooled URL, seeds
and builds; without a database URL it stops with a clear error.infra/aws/README.md — create/delete the stack, CI variables,
cost guardrails.npm run db:import -- --from <libsql://… | postgresql://… | file:….db | export.json> (empty target,
one transaction, row counts compared); --export file.json to carry it to AWS.browser ── pages (app/) → lib/client api ─┬─ http.ts → /api/* route handlers → lib/server services → Store
└─ mock/ (mockService) ├─ MemoryStore
└─ PrismaStore → PostgreSQL
Docker image (Dockerfile): Next.js standalone server = public/ + .next/static + API, migrations on start
compose.yml: app + postgres:17 (volume) · compose.e2e.yml: test hooks for Playwright/CI
AWS (infra/aws): EC2 t3.micro → Caddy (HTTPS) → app (ECR) → Postgres (EBS) · GitHub OIDC + SSM deploys
chat-brainstorm.md — the brainstorm chat before building._docs/plan.md (spec), _docs/decisions.md (stack + architecture), _docs/design.md (design references)._docs/tasks.md → GitHub issues: mvp, post-mvp, user-test-bug, e2e-test, iteration labels iter-0 … iter-6._docs/team/pm.md (grooming), qa.md (test cases), software-engineer.md, qa-engineer.md (verifies, closes).openapi.yml → in-memory backend → SQLite (Prisma) → connect →
test, containerise and deploy (PostgreSQL, Docker, Compose, Playwright per feature, CI/CD, AWS).user-test-bug issues (Goal + Description → PM → QA test cases → fix → QA closes).