reloop
|
d892d8298b
|
feat(phase10A): KICE 비수학 제거 + 수학 단원 분리
- schema: MathUnit enum (common/prob_stat/calculus/geometry)
- User: focusUnits(Json), bojHandle(VarChar32)
- ProblemSet: mathUnit optional + unique(year,examType,subjectName,mathUnit)
- migration: phase10_math_units_and_ps
- scripts: wipe-non-math (dry/apply), kice-import refactor (math only,
30문항을 공통22 + 확통/미적/기하 8씩으로 분할 → 2년×4 = 8 ProblemSet)
- parsing strategy/ocr-fix/seed/me/study-logs: 비수학 참조 전면 제거
- data/kice, backend/uploads/problems: 비수학 폴더 삭제
- Plans.md: Phase 10 계획 확정
Phase 10A DoD 통과 — prisma validate/format OK, nest build OK,
kice-import dry-run 2년 각 46문항 확인, wipe dry-run 8 set/260 problems 확인.
|
2026-04-14 18:27:00 +09:00 |
|
reloop
|
35dcf822d2
|
feat(kice): pdftotext-based import pipeline — 7A.2-7A.8
- scanKiceData: 2025/2026 국어/영어/한국사/생활과 윤리 PDF 스캔
- extractText: pdftotext -raw (problems) / -layout (answers), pdf-parse 폐기
- parseAnswerTable: 홀/짝 분리 + ①..⑤ → 1..5 정규화
- parseProblemPaper: [N~M] passage 범위 + 번호 monotonic 체크
- importKiceSet: ProblemSet/Passage/Problem 멱등 upsert
- seed.ts: DEMO_PROBLEMSET(2024 수학) 제거, User/Subject/Tag 만 유지
- CLI: cli:kice-import --year --subject --only --dry-run --sample
270 problems / 26 passages / 9 problem sets 로컬 검증 완료
|
2026-04-12 03:45:48 +09:00 |
|
reloop
|
871ca89da0
|
feat(phase6): BM tiers + Landing + Pricing + 평가원 기출 ProblemSet — tracks 2/4
트랙 2 — BM / Landing / Pricing
- schema.prisma: SubscriptionTier enum(free/pro/school) + User.subscriptionTier
+ User.subscriptionUntil. Migration 20260411161837_bm_and_problemsets.
- auth.service.ts / me.service.ts safeUser/toView 에 구독 필드 포함.
- frontend/lib/api.ts MeUser 에 subscriptionTier/subscriptionUntil 추가.
- app/page.tsx 전면 재작성: 토큰 있으면 /dashboard, 없으면 비로그인 Landing
(히어로 + 왜 ReLoop 3카드 + 페르소나 4장 + 4단계 루프 + 가격 티저 +
FAQ 4개 + footer).
- app/pricing/page.tsx 신규: Free/Pro/School 3 티어 카드(Pro 강조 PopBadge),
월/년 cycle 토글, 기능 비교 테이블(데스크탑 전용), FAQ 5개, 바닥 CTA.
Pro ₩7,900/월, 연간 ₩79,000(2개월 무료), School ₩20,000/월·30시트.
- app/profile/page.tsx: 구독 섹션 + 티어 배지 + pricing 으로 가는 업그레이드
버튼.
트랙 4 — 평가원 기출 ProblemSet 데모
- schema.prisma: ProblemSet + Problem 신규 모델. StudyLog.problemId
(optional, SetNull). 각 ProblemSet 은 (year, examType, subjectName)
복합 unique.
- prisma/seed.ts: 2024학년도 수능 수학 샘플 10 문항 (1/5/8/11/13/15/20/22/
28/30번) 대략치 난이도+정답률로 upsert. 실제 KICE 수치로 교체 가능하도록
주석 명시.
- backend/src/problem-sets/: ProblemSetsModule + Service + Controller.
GET /api/problem-sets (list, subject/year 필터) + GET /api/problem-sets/:id
(문제 배열 포함). JwtAuthGuard 적용.
- study-logs.service/controller: problemId optional 필드 수용.
- frontend/lib/api.ts: ProblemSetSummary/ProblemSetDetail/Problem 타입.
- frontend/app/study/page.tsx 재설계: 상단 탭 [직접 입력 | 문제집에서 가져오기].
문제집 탭은 set 드롭다운 + 문제 리스트 클릭 → title/difficulty/baseCorrectRate
자동 채움 + subjectName 매핑으로 사용자 과목 자동 선택 + topic 을 tag
이름과 매칭. 결과/메모/시간만 수동 입력.
|
2026-04-12 01:26:35 +09:00 |
|