실제 확인한 가격은 ⭐로 표시하고, 개봉/미개봉 상태를 목록·상세·DB에 반영했다. Co-authored-by: Cursor <cursoragent@cursor.com>
69 lines
3.0 KiB
Markdown
69 lines
3.0 KiB
Markdown
# 기술 명세
|
|
|
|
## 프로젝트 개요
|
|
- 목적: 보유 중인 닌텐도 스위치 게임 목록을 웹에서 조회, 필터링, 정렬, 상세 확인한다.
|
|
- 형태: 정적 HTML + ES Module JavaScript 기반 단일 프론트엔드.
|
|
- 빌드: Tailwind CSS CLI를 사용해 스타일 파일을 생성/관리한다.
|
|
|
|
## 화면/라우팅
|
|
- 목록 화면: `index.html`
|
|
- 주요 기능: 검색, 필터(언어/판매상태/국가/CERO), 정렬, 게임 개수 표시, 가격 확인 별·제품 상태 표시
|
|
- 데이터 소스: `db/nsw.resale.db.js` (`export default` → `items` 배열)
|
|
- 스크립트: `script/nsw.js`
|
|
- 상세 화면: `nsw-detail.html`
|
|
- 주요 기능: 게임 기본 정보/판매 정보 상세 표시
|
|
- 진입 방식: `nsw-detail.html?no={gameNo}`
|
|
- 데이터 소스: `db/nsw.resale.db.js`
|
|
- 스크립트: `script/nsw-detail.js`
|
|
|
|
## 데이터 구조 (중고 판매 DB)
|
|
- 파일: `db/nsw.resale.db.js`
|
|
- 형태: `export const NSW_RESALE_DB = { metadata, items }`, `export default items`
|
|
- 주요 필드:
|
|
- `no` (number): 게임 고유 순번
|
|
- `title` (string): 일본어/원문 타이틀
|
|
- `koTitle` (string|null): 한국어 타이틀
|
|
- `image` (string): 상세 이미지 경로
|
|
- `thumbnail` (string): 목록 썸네일 경로
|
|
- `platform` (string): 플랫폼명
|
|
- `requiredCapacity` (string|null): 필요 용량
|
|
- `playMode` (string|null): 플레이 모드
|
|
- `playUser` (string|null): 플레이 인원
|
|
- `localPlayUser` (string|null): 로컬 통신 인원
|
|
- `onlinePlayUser` (string|null): 온라인 통신 인원
|
|
- `compatibleController` (string|null): 대응 컨트롤러
|
|
- `onlineDataSave` (string|null): 세이브 데이터 보관 지원 여부
|
|
- `maker` (string|null): 메이커
|
|
- `language` (string|null): 지원 언어 목록
|
|
- `release` (string|null): 출시일(예: `2017年7月20日`)
|
|
- `tags` (string|null): 장르/특성 태그
|
|
- `extension` (string[]|null): 추가 콘텐츠 목록
|
|
- `status` (string): `available` | `sold` (판매 가능/판매완료)
|
|
- `itemCondition` (string|null): `SEALED`(미개봉) | `OPENED`(개봉) | `null`(미정)
|
|
- `country` (string): `KOR` | `JPN`
|
|
- `cero` (string|null): CERO 등급
|
|
- `sale` (object):
|
|
- `suggestedPrice` (number): 추천 판매가(KRW)
|
|
- `priceRange` (object): `{ min, max }`
|
|
- `pricingBasis`, `confidence`, `checkedAt`, `memo` 등
|
|
- `priceVerified` (boolean): 실제 시세 확인 완료 여부. `true`이면 목록·상세 제목 앞 노란 별 표시
|
|
|
|
## 필터/정렬 동작
|
|
- 필터:
|
|
- 언어 필터: 한국어 지원/미지원
|
|
- 상태 필터: `status` + `extension` 보유 여부
|
|
- 국가 필터: `country`
|
|
- CERO 필터: `cero`
|
|
- 정렬:
|
|
- 순번 최신/과거
|
|
- 발매일 최신/과거
|
|
- 구매일 최신/과거
|
|
- 무작위
|
|
|
|
## 스타일/에셋
|
|
- 스타일 소스: `style/tailwind.css`
|
|
- 이미지:
|
|
- 목록/상세에서 `images/nsw` 하위 이미지를 참조
|
|
- 데이터 레코드의 `image`, `thumbnail` 필드로 렌더링
|
|
- 원격 업로드 용량 제한 대응을 위해 `images/**`는 Git LFS 관리 대상으로 지정한다.
|