갭 분석

DB · 코드 · 데이터를 대조해 지금 남아 있는 작업을 뽑아냅니다.

남은 원본 기능
11
바로 가능
0
기다릴 것 없음
하드코딩 화면
9
미사용 테이블
4
데이터는 있는데 API 없음
데이터 이슈
0

데이터에서 발견된 문제

발견된 문제가 없습니다.

아직 옮기지 않은 원본 기능 (11)

원본에는 있는데 우리에게 없는 것입니다. 원본 메뉴 · Spring 이 안 읽는 테이블 · 끊긴 링크를 대조해 뽑았습니다. 태스크로는 wvctesol-dev-design/docs/todo.md 에 등록돼 있습니다 — 이 표와 그 파일을 함께 갱신합니다.

태스크영역기능크기지금 할 수 있나
D1데이터
비밀번호 없는 회원 3,165명
전체 6,680명 중 47% 가 비밀번호 칸이 비어 있다. 지금 로그인은 bcrypt 대조만 하므로 이 사람들은 어떤 비밀번호로도 못 들어온다.
member.pw = '' 3,165행
보통결정 필요
소셜 전용 계정인지, 재설정을 태워야 하는지 정해야 한다. 재설정이라면 메일 발송이 먼저다.
D2관리자
관리자 계정 생성 · 비밀번호 변경
지금은 목록과 승인 토글만 있다.
admin/admin/ad_write.php
작음결정 필요
권한 상승 경로다. admin.auth 컬럼이 무엇을 뜻하는지 정하고 붙인다.
D3사용자
합격수기 스크랩
수기를 스크랩해 두는 기능. 데이터는 579건 쌓여 있는데 화면도 API 도 없다.
pass_note_scrap 579행
작음결정 필요
원본 화면을 아직 못 찾았다. 지금도 쓰는 기능인지 확인이 필요하다.
D4사용자
취업 · 창업 정보
퀵메뉴에서 여는 취업정보 목록·상세와 창업 안내 화면.
job/findJob_list.php · job/findJob_view.php · job/startUp.php
보통결정 필요
현재 헤더에는 없고 퀵메뉴에만 있다. 계속 쓸 메뉴인지 확인이 필요하다.
D5서버
member.login_id 유니크 제약
경합 자체는 자문 잠금(pg_advisory_xact_lock)으로 막았다 — 스키마를 건드리지 않는다. 동시 10건이 와도 하나만 만들어진다. 이미 중복이 있어도 먼저 만들어진 계정으로 동작하게 해 두어 계정이 잠기지 않는다. 유니크 제약은 이제 마지막 방어선이다.
member.login_id — 일반 인덱스만 있다. 실데이터 중복은 0 이라 언제든 걸 수 있다.
작음결정 필요
급하지 않다. 잠금은 한 DB 를 보는 동안만 유효해서, DB 를 나누거나 복제본으로 확인하게 되면 그때는 제약이 필요하다.
D6데이터
회원 없는 기록 1,181건 정리
진도 116건만이 아니라 다섯 표에 걸쳐 있다. 우리 조회는 회원 하나씩만 보므로 화면에는 섞이지 않고(가드레일 3개로 확인), 회원 수 집계도 member 표만 센다. 지우면 되돌릴 수 없다.
certificate_post 656 · lecture_progress_total 164 · payment 154 · lecture_progress 116 · quiz_result 91
작음결정 필요
DB 삭제라 확인이 필요하다. 탈퇴 회원의 결제·수료 기록에 보존 의무가 있는지 먼저 봐야 한다.
E1서버
카드 결제 실거래
승인·취소 흐름은 다 만들었는데 상점키가 없어 실제로는 못 돈다. 지금은 키가 없으면 조용히 성공시키지 않고 거부한다.
NICEPAY/* · wvctesol.nicepay.merchant-key
작음외부 대기
NICEPAY 상점키가 있어야 한다.
E2서버
메일 발송
아이디 찾기 · 비밀번호 재설정 링크가 메일로 나가야 하는데 SMTP 설정이 없어 지금은 로그만 남는다. 흐름 자체는 완성돼 있다.
mail/*_sendmail.php · DefaultNotificationSender
작음외부 대기
SMTP 계정이 있어야 한다.
E3서버
문자 발송
알림 포트는 있는데 실제 발송기가 없어 로그만 남는다. 원본은 Aligo 를 쓴다. 발송 이력 테이블도 아직 안 쓴다.
_lib/aligo/Aligo.php · sms_send 5,899행 · sms_content 6행
보통외부 대기
Aligo 계정과 발신번호가 있어야 한다.
I1관리자
배너 등록 · 수정
지금은 조회만 된다.
admin/banner/banner_write.php · banner 65행
보통인프라 필요
파일 업로드 인프라가 먼저다. 경로만 받으면 깨진 이미지가 등록된다.
T18사용자
카카오 계정 연동
이미 있는 계정에 카카오를 붙이는 기능이 원본 학생정보 화면에 있다. 로그인 · 가입의 카카오와는 다른 흐름이다.
myclass/studentInformation.php:67~117 · member.kakao_name · member_sign_log.kakao_id
보통결정 필요
연동 뒤 기존 아이디 로그인을 막을지 정해야 한다 — 로그인 화면에 그렇게 안내하고 있다.

이관 대상이 아닌 것 (6)

원본 메뉴에는 있지만 파일 자체가 없거나, 다른 방식으로 대체한 것입니다.

  • 약관 관리 · SNS 관리 (관리자)admin/config · admin/sns 디렉터리가 없다
  • 자주듣는 질문 중복 메뉴 (qs_list)좌측 메뉴에서 주석 처리돼 있고 faq_list 로 대체됐다
  • SMLOG · 영문 후기 (관리자)smlog_list.php · stry_list.php 파일이 없다
  • 파닉스 소개 (사용자)헤더에 링크는 있으나 tecLab/phonics.php 가 없다
  • 이메일 무단수집 거부 (푸터)member/antiEmail.php 가 없다
  • 모바일 전용 사이트 (M/html/*)반응형으로 만들어 한 벌로 대체했다

아직 하드코딩인 화면 (9)

경로데이터 블록
/join1268
/my-class인증1112
/my-class/course-outline인증1235
/my-class/phonics-online인증1199
/my-class/teaching-online인증1218
/my-class/tec-course-outline인증1221
/my-class/university-register인증2144
/privacy122
/terms122

API 가 쓰지 않는 테이블 (4)

데이터는 들어 있는데 어떤 엔드포인트도 조회하지 않습니다.

비어 있는 테이블 (26)