HS Lab 운영 가이드
운영 원칙
HS Lab은 공개 페이지를 읽기 전용으로 유지하고, 변경이 필요한 기록은 `/admin`에서만 관리합니다. 코드는 Git으로 추적하고, 운영 데이터는 PostgreSQL에 쌓습니다.
IDE / Git으로 관리할 것
- 학습 문서 본문: Markdown으로 작성하고 Git에 커밋합니다.
- 실습 데모 코드: React/TypeScript 컴포넌트로 구현하고 Git에서 리뷰합니다.
- 문제은행 기본 데이터: 반복 학습의 기준 데이터로 관리합니다.
- 로드맵 데이터: 큰 학습 방향과 진행 축을 관리합니다.
- 실습 메타데이터: 기술 스택, 난이도, 연결 문서/퀴즈를 코드로 관리합니다.
이 영역은 구조와 품질이 중요하므로 IDE에서 수정하고 `npm run lint`, `npm run build`를 통과시킨 뒤 배포합니다.
Admin 페이지에서 관리할 것
- 학습 진행도
- 퀴즈 풀이 기록
- 오답노트
- 회고
- 포트폴리오 후보 상태
- 서버/배포 기록
- 진행도 초기화
이 영역은 시간이 지나며 계속 쌓이는 운영 기록입니다. Git 커밋보다 DB 기록으로 남기는 편이 자연스럽습니다.
공개 페이지와 관리자 페이지의 분리
공개 페이지:
- `/`
- `/roadmap`
- `/docs`
- `/quizzes`
- `/labs`
- `/review`
- `/portfolio`
- `/ops`
위 페이지는 보기 전용입니다.
관리 페이지:
- `/admin`
- `/admin/review`
- `/admin/ops`
- `/admin/progress`
- `/admin/reset`
쓰기/초기화 기능은 관리자 비밀번호 확인 후에만 실행합니다.
초기화 정책
초기화 가능:
- QuizAttempt 전체 삭제
- ReviewNote 전체 삭제
- PortfolioCandidate 전체 삭제 또는 상태 초기화
- LearningProgress 전체 삭제
초기화 비추천:
- OpsLog 전체 삭제
OpsLog는 서버/배포 운영 기록의 원장이므로 기본적으로 유지합니다. 개발용 테스트 OpsLog만 별도 옵션으로 삭제합니다.
학습 루프
1. `/docs`에 개념을 정리합니다. 2. `/quizzes`에서 설명 가능 여부를 점검합니다. 3. `/labs`에서 UI/기능/배포 실습으로 구현합니다. 4. `/review`에 모르는 점과 오답을 기록합니다. 5. `/portfolio`에서 외부에 보여줄 후보를 선별합니다. 6. `/ops`에 배포와 서버 변경 이력을 남깁니다.
OperationAdminWorkflowGit