메뉴
13
원본 left_menu.php 기준
옮긴 화면
13 / 13
관리자 API
21
가드레일
31
critical 9
이관 진행도
100%
원본 admin/ 아래 PHP 는 143개지만, 좌측 메뉴가 가리키는 실제 화면은 13개입니다. 나머지는 백업과 폐기된 것입니다.
개발 스펙 (8)
메뉴 13개를 성격이 같은 것끼리 묶어 8개로 적었습니다. 요건 · 규칙 · API · 가드레일 · 구현 계획 · 자바 설계 · 테스트 방법이 들어 있습니다.
게시판 4종 (공지 · 후기 · 합격노트 · FAQ)
ADMIN-BOARDSwvctesol-admin/notices완료이 화면에서 할 수 있어야 하는 것 (3)
- 네 게시판의 글을 쓰고 고치고 지운다.
- 숨긴 글도 목록에 보인다.
- 게시판마다 다른 칸을 켠다 — 공지는 고정, 수기·후기는 작성자와 이미지, FAQ 는 분류.
비즈니스 규칙 (5)
- 네 게시판이 같은 컴포넌트를 쓰고 설정으로 칸을 켠다. 따로 만들면 공통 변경 하나에 넷을 고쳐야 한다.
- 작성자 칸이 다르다 — 공지·FAQ 는 regid 뿐, 수기·후기는 name 이 따로 있고 NOT NULL 이다.
- FAQ 만 노출 플래그가 소문자 y/n 이다. 대문자로 넣으면 원본 화면 조건에 걸리지 않는다.
- 수기·후기의 main · best 도 NOT NULL 이다. 목록 노출은 노출 플래그가 정하므로 N 으로 채운다.
- 삭제는 실제로 지운다. 원본에도 휴지통이 없다.
API (4)
| 메서드 | 경로 | 권한 | 모듈 · 설명 |
|---|---|---|---|
POST | /api/community/admin/{board} | 관리자 | 글쓰기 → { id }. 문의(qna)는 거부. domains:community:community-web400 NOT_WRITABLE 400 INVALID_INPUT |
POST | /api/community/admin/{board}/{id} | 관리자 | 글 수정. domains:community:community-web404 POST_NOT_FOUND |
DELETE | /api/community/admin/{board}/{id} | 관리자 | 글 삭제. 되돌릴 수 없다. domains:community:community-web |
POST | /api/community/admin/{board}/{id}/visible | 관리자 | 노출 토글. 게시판별 컬럼·대소문자는 어댑터가 흡수한다. domains:community:community-web |
가드레일 (3) — id 가 곧 테스트 이름이다
| id | 반드시 만족해야 하는 것 | 등급 |
|---|---|---|
board-visible-value-per-table | FAQ 는 소문자 y/n 으로 저장해야 한다. 대문자면 원본 화면에서 안 보인다. | high |
board-writer-column-per-table | 수기·후기는 name 칸을 채워야 한다. NOT NULL 이라 비우면 저장이 실패한다. | high |
board-crud-roundtrip | 네 게시판 모두 생성 → 수정 → 노출 토글 → 삭제가 왕복해야 한다. | normal |
구현 계획 (5/5)
- ●BoardDraft — 게시판 공통 입력
community-domain - ●AdminBoardUseCase — create · update · delete · setVisible
community-app - ●BoardTable 에 hasCategory · hasMainBest · visibleValue 추가
community-infrastructure - ●쓰기 4개 엔드포인트
community-web - ●BoardList · BoardForm 공통 컴포넌트 + 화면 12개
wvctesol-admin
서버 사이드 구현 계획 — 자바 객체별 요구사항 (2/2)
| 객체 | 모듈 | 책임 · 지켜야 할 것 |
|---|---|---|
● BoardDraftrecord | community-domain | 관리자가 쓰는 글.
|
● BoardTablerecord | community-infrastructure | 게시판별 테이블·컬럼 차이를 모으는 유일한 지점.
|
테스트 방법 (3)
| 가드레일 | 종류 | 확인 방법 |
|---|---|---|
board-crud-roundtrip | e2e | 네 게시판 각각 쓰기 → 수정 → 삭제, 목록에서 사라진다 |
board-visible-value-per-table | integration | FAQ 노출 토글 후 show 컬럼이 소문자 y/n |
board-writer-column-per-table | integration | 수기·후기 글쓰기 → name 컬럼이 채워지고 저장 성공 |
운영
| 메뉴 | 원본 | 원본 줄수 | 옮긴 파일 | 상태 |
|---|---|---|---|---|
관리자 관리 /admins | admin/admin/ad_list.php | 443 |
| 완료 |
회원 관리 /members | admin/member/mb_list.php | 529 |
| 완료 |
배너 관리 /banners | admin/banner/banner_list.php | 187 |
| 완료 |
게시판
| 메뉴 | 원본 | 원본 줄수 | 옮긴 파일 | 상태 |
|---|---|---|---|---|
공지사항 /notices | admin/board/nt_list.php | 159 |
| 완료 |
수강후기 /reviews | admin/board/sty_list.php | 169 |
| 완료 |
합격노트 /pass-notes | admin/board/passnote_list.php | 248 |
| 완료 |
질문답변 /qna | admin/board/qa_list.php | 190 |
| 완료 |
상담신청 /applications | admin/board/ap_list.php | 621 |
| 완료 |
자주듣는 질문 /faqs | admin/board/faq_list.php | 203 |
| 완료 |
수강 · 결제
| 메뉴 | 원본 | 원본 줄수 | 옮긴 파일 | 상태 |
|---|---|---|---|---|
결제리스트 /payments | admin/payment/payment_list.php | 244 |
| 완료 |
TESOL Unit /units/tesol | admin/unit/unit_list.php | 75 |
| 완료 |
TEC Unit /units/tec | admin/unit/unit_list_tec.php | 75 |
| 완료 |
레벨테스트 /level-tests | admin/unit/level_test_list.php | 92 |
| 완료 |