diff --git a/domain-skills/kmong/gig-registration.md b/domain-skills/kmong/gig-registration.md new file mode 100644 index 00000000..846f60f0 --- /dev/null +++ b/domain-skills/kmong/gig-registration.md @@ -0,0 +1,50 @@ +# kmong.com — 전문가 서비스(gig) 등록 자동화 + +2026-07 실측. 서비스 2건 등록 성공 기준의 지도. + +## URL·플로우 + +- 등록 시작: `/my-gigs` → "서비스 등록하기" 버튼 → `/my-gigs/new` (제목+카테고리만) → 다음 → `/my-gigs/edit/{gigId}?rootCategoryId=..&subCategoryId=..` (본편) → 제출 → `/my-gigs/edit/{gigId}/complete` +- 카테고리 ID: IT·프로그래밍=6, 하위: 664 프로그램 수정·유지보수, 645 크롤링·스크래핑, 663 업무 자동화, 636 홈페이지 수정·유지보수, 665 엑셀·스프레드시트, 668 AI 자동화, 673 AI 에이전트 +- 무인증 검색 API: `GET /api/search/v5/gigs?q=<키워드>` (JSON 200, 상위 40개만, page 무시됨). gig 상세는 `/gig/{PID}` HTML의 `self.__next_f.push` RSC payload에 패키지·가격·응답시간 전부 SSR됨. +- robots.txt: `/search`만 전 UA Disallow. `/gig`, `/category`, `/api`는 허용. + +## 게이트 (순서대로 막힘) + +1. 서비스 등록 전 **프로필 필수 3종**: 소개(255자), 전문분야·상세분야, 보유 기술 → 미완성 시 "프로필을 먼저 완성해 주세요" 모달 +2. **전문가 인증**(실명+주민등록번호, `/my_profile/seller/certifications`) → 미완성 시 "전문가 인증을 해주세요" 모달. 주민번호는 민감정보 — 반드시 사용자가 직접 입력. +3. 정산계좌는 등록 시점에 불필요 (출금 신청 때 등록) + +## 폼 상수 + +- 제목: 최소 10자, 최대 30자. 특수문자 `+ - # / . ( )` 만 허용 — `·`, `,` 불가 +- 서비스 설명: 리치에디터(contenteditable), 최소 100자, `<` 및 백틱 금지. contenteditable은 3개: [0]=설명, [1]=서비스 제공 절차, [2]=의뢰인 준비사항 +- 패키지: "패키지로 설정" 토글 켜야 3단 활성화. **꺼진 상태에서 2·3열은 disabled인데 시각적으로만 회색 — JS로 값 넣으면 조용히 씹힘.** 토글 상태를 스크린샷으로 확인 후 진행할 것 +- 패키지 제목 20자, 설명 60자 제한. 금액 최소 5,000원, 1,000원 단위, 최대 99,900,000 +- 작업 기간·수정 횟수는 드롭다운(1~30일 / 1~10회+) +- 메인 이미지: **652×488px, PNG/JPG** 정확히. input[type=file] 3개 존재: [0]=메인(image/png,jpeg), [1]=상세(gif 포함), [2]=동영상(mp4) +- 수정 및 재진행 안내: textarea, 최소 20자 (필수) +- 검색 키워드: "판매 핵심 정보" 아코디언(접혀 있음, 쉐브론 클릭) 안. 최대 5개, 각 20자, 입력 후 Enter로 칩 등록 + +## 금지 표현 (제출 시 모달로 안내, 위반 시 심사 반려) + +- 1위 / No.1 / 베스트 / 최초 / 유일 +- 최저가 / **100% 만족·환불** / 매출 보장 / 환불 보장 — "착수 전 100% 환불" 같은 조건부도 걸림. "크몽 취소·환불 규정에 따라 처리" 로 우회 +- **무제한 수정** / 평생 A/S — 패키지 수정횟수는 명시적 횟수만 +- 전화번호·이메일·SNS·외부 링크·QR — **GitHub 포트폴리오 링크도 상세페이지에 못 넣음** (프로필의 포트폴리오 섹션에만) +- 경력·학력 주장은 프로필 증빙 필수 — 안 쓸 거면 아예 안 쓰는 게 안전 + +## 상호작용 트랩 + +- 드롭다운(카테고리·특징·기간·횟수)은 li가 아니라 **div 그리드 패널**. 옵션 클릭은 좌표 클릭 또는 mousedown/mouseup/click 3연타 dispatch +- 특징 드롭다운은 **다중선택 시 패널이 안 닫힘** — 다음 박스 좌표가 밀려 연쇄 오클릭 발생. 한 박스 처리 후 "미설정 박스 재조회" 패턴으로 매번 좌표 다시 계산할 것 +- 제출 모달("승인을 빨리 받으실 수 있도록...")의 체크박스 2개를 전역 `input[type=checkbox]` 셀렉터로 체크하면 **모달 뒤 가격 섹션 체크박스 12개가 같이 토글**됨. 모달 체크박스는 좌표(대략 viewport 419,385 / 419,679)로만 +- 키워드 입력: **input 값이 비어 있을 때 Enter를 치면 폼 제출**이 나가버림. 반드시 입력값 확인 후 Enter +- Cmd+A(CDP modifiers=4)가 이 폼에서 안 먹음 — 클리어는 `el.select()` + Backspace + type_text +- React 인풋에 JS native setter는 대체로 동작하지만, **disabled 상태(토글 꺼짐)에서는 조용히 무시**됨 — 쓰기 후 값 재조회로 검증 필수 +- 금액 필드는 자동 콤마 포맷, 잘못 이어붙으면 최대값 99,900,000으로 캡 + +## 심사 + +- 제출 후 승인 대기: 영업일 기준 7일. 승인되면 곧바로 판매 시작 +- 온보딩 첫 판매 지원금: 최대 2만 5천원 (전문가 홈 배너)