51 lines
2.3 KiB
Markdown
51 lines
2.3 KiB
Markdown
# 파일-화면 매핑 가이드
|
|
|
|
## `/`
|
|
- 화면 파일: `frontend/src/views/HomeView.vue`
|
|
- 역할: 게임 목록 표시, 게임 카드 클릭 이동, 새 게임 제안 모달
|
|
- 연동 API: `GET /api/games`, `POST /api/games/suggest`
|
|
|
|
## `/games/:gameId`
|
|
- 화면 파일: `frontend/src/views/GameHubView.vue`
|
|
- 역할: 선택한 게임 정보 표시, 공개 티어표 목록 표시, 작성자 닉네임 노출, 새 티어표 작성 진입
|
|
- 연동 API: `GET /api/games/:gameId`, `GET /api/tierlists/public`
|
|
|
|
## `/editor/:gameId/new`, `/editor/:gameId/:tierListId`
|
|
- 화면 파일: `frontend/src/views/TierEditorView.vue`
|
|
- 역할: 티어 그룹 편집, 관리자 아이템/커스텀 아이템 드래그 앤 드롭, 저장, 공개 여부 설정, PNG 다운로드
|
|
- 연동 API: `GET /api/games/:gameId`, `GET /api/tierlists/:id`, `POST /api/tierlists/custom-items`, `POST /api/tierlists`
|
|
|
|
## `/login`
|
|
- 화면 파일: `frontend/src/views/LoginView.vue`
|
|
- 역할: 로그인/회원가입 전환, 첫 가입 안내
|
|
- 연동 API: `GET /api/auth/meta`, `POST /api/auth/login`, `POST /api/auth/signup`
|
|
|
|
## `/me`
|
|
- 화면 파일: `frontend/src/views/MyTierListsView.vue`
|
|
- 역할: 내 티어표 목록 조회, 편집 화면으로 이동
|
|
- 연동 API: `GET /api/tierlists/me`
|
|
|
|
## `/admin`
|
|
- 화면 파일: `frontend/src/views/AdminView.vue`
|
|
- 역할: 게임 추가, 게임 선택 후 썸네일 업로드, 관리자 아이템 추가, 현재 아이템 목록 확인
|
|
- 연동 API: `POST /api/admin/games`, `POST /api/admin/games/:gameId/thumbnail`, `POST /api/admin/games/:gameId/images`
|
|
|
|
## `/profile`
|
|
- 화면 파일: `frontend/src/views/ProfileView.vue`
|
|
- 역할: 프로필 표시, 작성자 닉네임 수정, 아바타 미리보기 후 저장
|
|
- 연동 API: `GET /api/auth/me`, `POST /api/auth/profile`
|
|
|
|
## 공통 레이아웃
|
|
- 앱 셸 파일: `frontend/src/App.vue`
|
|
- 역할: 상단 내비게이션, 로그인 상태 반영, 아바타 메뉴, 관리자 메뉴 노출 제어
|
|
|
|
## 백엔드 진입점
|
|
- 서버 엔트리: `backend/index.js`
|
|
- 데이터 초기화: `backend/src/db.js`
|
|
- 로컬 DB 실행 설정: `docker-compose.yml`
|
|
- 로컬 MariaDB 가이드: `docs/local-mariadb.md`
|
|
- 인증 라우트: `backend/src/routes/auth.js`
|
|
- 게임 라우트: `backend/src/routes/games.js`
|
|
- 티어표 라우트: `backend/src/routes/tierlists.js`
|
|
- 관리자 라우트: `backend/src/routes/admin.js`
|