19종
ISO 기반 구성개념
3종
검증 척도 (SUS·UEQ·TLX)
62명
검증 패널 설계
풀어야 했던 문제
- 평가가 회차·서비스마다 기준이 달라 점수를 비교할 수 없었다
- 검증된 측정 도구(SUS 등)를 LLM이 다시 쓰면 누적된 신뢰도·해석 기준이 무효가 된다
- AI·웹·교육 등 서로 다른 서비스를 같은 틀로 평가해야 했다
측정 아키텍처 (4 Layer)
- L0 구성개념 — ISO/IEC 25010·25059·25019를 불변 사전으로 고정 (19종)
- L1 고정 척도 — SUS·UEQ·NASA-TLX를 원문 그대로 삽입 (LLM 금지)
- L2 적응 문항 — 표준 도구가 없는 항목만 LLM이 '문구만' 생성
- L3 정규화 — IRT·앵커링 비네트로 평가자 편향 보정 후 비교 가능화
직접 만든 것
- Next.js 16 App Router 모놀리식 풀스택 (Server Actions 기반)
- Prisma + PostgreSQL ERD 설계 (User·Project·Enrollment·Response·Message·Notification)
- 역할 기반 접근 제어(USER·DEVELOPER·ADMIN), 설문 블록 조립 엔진, CSV 내보내기
- Docker Compose + Watchtower 자동 갱신으로 단독 배포·운영
보안
- Cloudflare WAF·HSTS, 원본 IP 비노출
- fail2ban 무차별 대입 차단, HttpOnly 세션, bcrypt 해시
- 업로드 MIME 화이트리스트·경로 순회 차단, 컨테이너 격리(DB 외부 미노출)
결제·정산 (구현 완료)
- 기업 → 플랫폼(수수료 15%) → 학생 보상 흐름을 코드로 구현 — 등급 가중(S×1.3/A×1.0/B×0.8) 후 잔여 원(₩) 배분까지 결정론적으로 처리
- 토스페이먼츠 가상계좌 웹훅으로 입금 자동 감지 → PaymentPool 에스크로 잠금, 지급대행 API(JWE 암호화)로 학생 계좌 자동 송금
- 기타소득 원천징수 8.8%(소득세 8% + 지방소득세 0.8%)를 지급 시점에 자동 계산·차감하고, 팝빌 API로 세금계산서·지급명세서 발행
- 웹훅 멱등키 + DB 유니크 제약으로 중복 입금 처리 차단, 모든 금액을 정수 원 단위로 다뤄 부동소수점 오차 제거
정산 무결성
- PaymentPool 상태기계(PENDING → ACTIVE → DISTRIBUTING → DISTRIBUTED)를 서버 사이드 전용으로 제한 — 클라이언트에서 상태 전이 불가
- 지급 트랜잭션과 Distribution 레코드를 한 트랜잭션으로 묶어 부분 지급 상태를 원천 차단
- 총액 = 수수료 + 보상풀, 보상풀 = Σ(지급액 + 원천징수액) 불변식을 배분 직전 검증 후 커밋
- 확장 계획 — 스마트 컨트랙트 에스크로 + Polygon 앵커링으로 운영자도 손댈 수 없는 정산 증명
Stack
Next.js 16TypeScriptPrismaPostgreSQLOpenAIDockerCloudflare