v2026.03.30-01 레포지토리 재연결
This commit is contained in:
22
docs/convention.md
Normal file
22
docs/convention.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 코딩 컨벤션
|
||||
|
||||
## 언어
|
||||
|
||||
- 사용자 대면 문서·UI 텍스트: 프로젝트 기본은 **한국어**(필요 시 일본어 병기)
|
||||
- Git 커밋 메시지·`docs/update.md` 작업 이력: `.ai-rules.md`에 따름(커밋 제목 `vYYYY.MM.DD-번호` 형식 등)
|
||||
|
||||
## 코드 주석
|
||||
|
||||
- JavaScript: **JSDoc** 형식 사용(프로젝트 `.ai-rules.md` 규칙)
|
||||
|
||||
## 네이밍 가이드
|
||||
|
||||
| 구분 | 권장 |
|
||||
|------|------|
|
||||
| DOM 조작용 변수 | `camelCase` (`amiiboList`, `selectedFilters`) |
|
||||
| 상수 맵 | `seriesNameMap` 등 의미 있는 이름 |
|
||||
| HTML `id` | 역할이 드러나게 (`amiibo-list`, `resetFilter`) |
|
||||
|
||||
## 데이터
|
||||
|
||||
- 아미보 마스터 데이터는 `db/amiibo.db.js` 단일 소스로 유지하고, 필드 추가 시 본 문서의 `spec.md` 스키마 표를 갱신할 것
|
||||
11
docs/history.md
Normal file
11
docs/history.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# 의사결정 이력
|
||||
|
||||
## 정적 단일 페이지 + 모듈 데이터
|
||||
|
||||
- **배경**: 개인 보유 목록을 빠르게 열람·필터링할 목적으로 서버 비용·배포 단순성을 우선함
|
||||
- **처리 결과**: `index.html`이 `db/amiibo.db.js`를 ES 모듈로 import하여 렌더링하는 구조로 정리됨. 별도 API 없이 동작한다
|
||||
|
||||
## 시리즈명 일본어 키 + 한국어 매핑
|
||||
|
||||
- **배경**: 원본 시리즈명이 일본어로 DB에 저장되어 있어, 한국어 UI에서 읽기 쉽게 하기 위해 `seriesNameMap`으로 표시만 변환함
|
||||
- **처리 결과**: 필터 값은 일본어 `series` 문자열을 그대로 사용하고, 라벨만 한국어로 바꿔 표시한다
|
||||
33
docs/map.md
Normal file
33
docs/map.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 파일–화면 매핑 가이드
|
||||
|
||||
## URL·페이지
|
||||
|
||||
| 브라우저 경로 | 파일 | 설명 |
|
||||
|---------------|------|------|
|
||||
| `/index.html` 또는 `/` (서버 루트 기준) | `index.html` | 유일한 메인 화면 — 좌측 필터, 우측 아미보 카드 그리드 |
|
||||
|
||||
## `index.html` 구성 요소
|
||||
|
||||
| 영역 | DOM / 역할 |
|
||||
|------|------------|
|
||||
| 제목 링크 | `h1 > a` → `./index.html` 새로고침·홈 |
|
||||
| 언어 | `#btn-ko`, `#btn-ja` — 한국어/日本語 전환 |
|
||||
| 시리즈 필터 | `#series-options` 안에 동적 체크박스 |
|
||||
| 상태 필터 | `#status-options` 안에 동적 체크박스 |
|
||||
| 필터 초기화 | `#resetFilter` |
|
||||
| 무작위 표시 | `#shuffle` — DB 전체 셔플(필터와 별개 동작) |
|
||||
| 건수 | `#amiibo-count` — 필터 결과 개수 |
|
||||
| 목록 | `#amiibo-list` — 카드(`li`) 단위로 이미지·제목·시리즈·상태 표시 |
|
||||
|
||||
## 스크립트·데이터 연결
|
||||
|
||||
| 파일 | 역할 |
|
||||
|------|------|
|
||||
| `index.html` 하단 `<script type="module">` | 화면 전체 로직(필터, 렌더, 언어, 셔플) |
|
||||
| `db/amiibo.db.js` | 아미보 배열 데이터 — `index.html`에서 `import` |
|
||||
|
||||
## 현재 미연결 파일
|
||||
|
||||
| 파일 | 비고 |
|
||||
|------|------|
|
||||
| `script/amiibo.js` | `DOMContentLoaded`, `gameList` 등 **다른 HTML 구조**를 전제로 한 코드. 현재 레포에는 해당 HTML이 없어 **어느 화면에도 연결되지 않음** |
|
||||
46
docs/spec.md
Normal file
46
docs/spec.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 기술 명세
|
||||
|
||||
## 프로젝트 개요
|
||||
|
||||
- **목적**: 사용자가 보유한 아미보 목록을 브라우저에서 조회·필터링하는 단일 페이지 웹 애플리케이션
|
||||
- **형태**: 서버 없이 정적 HTML + ES 모듈 + 로컬 JS 데이터 파일
|
||||
- **진입점**: 루트의 `index.html` (제목 표시: Amiibo DB / Amiibo Filter)
|
||||
|
||||
## 데이터 소스
|
||||
|
||||
| 항목 | 내용 |
|
||||
|------|------|
|
||||
| 파일 | `db/amiibo.db.js` |
|
||||
| 형식 | `export default [ ... ]` — 아미보 객체 배열 |
|
||||
|
||||
### 아미보 레코드 스키마 (필드)
|
||||
|
||||
| 필드 | 타입 | 설명 |
|
||||
|------|------|------|
|
||||
| `no` | number | 관리용 번호(정렬·표시에 사용) |
|
||||
| `title` | string | 기본 표기 제목(일본어 원문 등) |
|
||||
| `series` | string | 시리즈명(일본어 키, 필터·매핑에 사용) |
|
||||
| `release` | string | 발매일 문자열 |
|
||||
| `image` | string | 카드/피규어 이미지 URL 경로 |
|
||||
| `packageImage` | string | 패키지 이미지 경로 |
|
||||
| `status` | object | `isHave`, `isOpen`, `isDamaged` (boolean) |
|
||||
| `koTitle` | string \| null | 한국어 제목(없으면 `title` 등 폴백) |
|
||||
| `usTitle` | string \| null | 영문/미국 표기 제목(일본어 UI 시 활용) |
|
||||
| `count` | number | 보유 개수(보유 시 카드에 표시) |
|
||||
|
||||
## UI 동작 (`index.html`)
|
||||
|
||||
- **언어**: 한국어 / 日本語 토글 — 시리즈명·상태 라벨·목록 제목 등 전환
|
||||
- **시리즈 필터**: 체크박스 다중 선택, `db`에 존재하는 `series` 값 기준
|
||||
- **상태 필터**: 보유/미보유/개봉/미개봉/박스훼손 — 다중 선택 시 **모든 선택 조건을 동시에 만족**하는 항목만 표시(AND)
|
||||
- **목록 정렬**: 필터 적용 후 `no` 내림차순
|
||||
- **필터 초기화**: 시리즈·상태 선택 및 체크박스 해제
|
||||
- **SUFFLE 버튼**: 현재 필터 무시하고 전체 DB를 무작위 순서로 그리드에 표시(임시 보기)
|
||||
|
||||
## 빌드·스타일
|
||||
|
||||
- `package.json`: Tailwind CSS CLI 의존성 — `index.html`은 인라인 CSS 위주로 동작하며, Tailwind는 별도 파이프라인용으로 존재할 수 있음
|
||||
|
||||
## API
|
||||
|
||||
- 백엔드 API 없음(클라이언트 전용)
|
||||
12
docs/todo.md
Normal file
12
docs/todo.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# 할 일 및 이슈
|
||||
|
||||
## 알려진 이슈
|
||||
|
||||
- `script/amiibo.js`는 테이블·모달 등 다른 UI를 가정한 코드로, 현재 유일한 페이지인 `index.html`과 연결되어 있지 않음. 유지·삭제·통합 중 선택 필요
|
||||
- Git 상태상 `amiibo.html`, `db/nsw*.js`, `images/nsw/*` 등 다수 삭제됨 — 배포·로컬 이미지 경로(`db/amiibo.db.js`의 `/images/amiibo/`)와 실제 저장소 내용 일치 여부 확인 필요
|
||||
|
||||
## 다음에 할 수 있는 작업
|
||||
|
||||
- `index.html` 인라인 스크립트를 별도 모듈로 분리 시 `docs/map.md`·`spec.md` 동기화
|
||||
- 이미지·DB 경로 정리 후 정적 호스팅 또는 로컬 서버 실행 방법을 `spec.md`에 명시
|
||||
- 버튼 라벨 오타 `SUFFLE` → `SHUFFLE` 등 UI 문구 정리
|
||||
7
docs/update.md
Normal file
7
docs/update.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# 작업 이력
|
||||
|
||||
## v2026.03.30-01
|
||||
|
||||
- `docs/` 폴더 신규 생성
|
||||
- `update.md`, `todo.md`, `spec.md`, `convention.md`, `history.md`, `map.md` 초기 작성
|
||||
- 프로젝트 목적(보유 아미보 목록 관리 웹 UI) 및 현재 파일 구조 반영
|
||||
Reference in New Issue
Block a user