Skip to content

Latest commit

 

History

History
591 lines (516 loc) · 26.6 KB

File metadata and controls

591 lines (516 loc) · 26.6 KB

개발 체크리스트

이 문서가 프로젝트의 단일 공식 체크리스트

IMPLEMENTATION_ORDER.md는 현재 스프린트용 짧은 안내판으로만 사용하고, 완료 여부와 전체 진행도는 이 파일에서 관리

0. 진행도 요약

기준일: 2026-06-08

목표 기준 현재 구현률 판단
핵심 프로토타입 100% 내외 커리어 생성, 로스터 확정, FM식 메인 프레임, URL 라우팅, 전략/훈련, 선발 교체, 선수 상태 변화, 상대 분석, 밴픽 점수 기반 시리즈 시뮬레이션, 시즌 요약, 다음 시즌 전환, 자동 저장까지 동작
1시즌 플레이 가능한 MVP 100% LCK Cup, First Stand, LCK Rounds 1-2, MSI, 아시안게임 시즌 LCK Rounds 3-4 정규 그룹 리그와 Season Play-In/Playoffs, Asian Games, Worlds, 시즌 요약, 다음 시즌 진입, MongoDB 저장/자동 저장까지 가능함
기말 프로젝트: LCK 3시즌 작동 100% 내외 2026 시작부터 2029 LCK Cup 진입까지 3시즌 자동 debug runner 검증, 3시즌 결산 UI, 저장 런타임 정규화, 자동 저장 fingerprint, 직접 URL/무결성/Error Boundary 안정성, 모바일 미지원 정책, 팀 밸런싱 1차, 2026 LCK 1군 선수 사진 1차, UI polish 1차, 데이터 저장 메뉴 분리, 그룹형 한글 사이드바, 친구 베타 테스트 준비 문서가 완료됨
정교한 개인 프로젝트 v1 54~62% 1시즌 MVP는 닫혔고 저장/MSI/LCK 후반부/Worlds/시즌 전환, 스토브리그 2차 최소 구조, 2026 LCK 전체 선수 데이터와 1차 능력치 보정, 팀 밸런싱/선수 사진/UI polish 1차, 저장 UI 정리, 메뉴 UX 개선이 들어왔지만, 트레이드 협상, 장기 커리어, 로그인/사용자별 저장, 이벤트, 장기 밸런싱은 남음
장기 플레이 완성형 3~5% 20시즌 안정성, 풍부한 데이터, 고급 밴픽/메타 시스템, 장기 밸런싱은 아직 초기 단계

남은 개발 시간 추정:

목표 추가 예상 시간
75% 지점 도달 완료
1시즌 MVP 완성 완료
기말 프로젝트: LCK 3시즌 작동 완료. 이후는 베타 피드백 반영
정교한 개인 프로젝트 v1 120~210시간
장기 플레이 완성형 360~580시간

0.1 기말 프로젝트 신규 목표

최우선 실행 목표는 기말 프로젝트: LCK 3시즌 작동이다.

완료 기준:

  • 2026 아시안게임 시즌을 끝까지 진행
  • 2027 일반 시즌을 끝까지 진행
  • 2028 일반 시즌을 끝까지 진행
  • 2028 Worlds 종료 후 시즌 요약과 스토브리그까지 도달
  • 2029 시즌 실제 플레이 완성이 아니라, 2029 진입 직전 상태까지 안정성을 확인
  • 저장/불러오기와 자동 저장이 3시즌 동안 깨지지 않음

작업 뭉탱이:

  • 0번: 신규 목표 문서화
  • 1번: 2026 LCK 10개팀 1군+2군 전체 선수 데이터 import
  • 2번: 시즌 템플릿/연도별 분기
  • 3번: 일반 시즌 LCK Rounds 3-5
  • 3.5번: 사용자 능력치 세부조정
  • 4번: 2027 시즌 전체 연결
  • 5번: 스토브리그 2차 최소 고도화
  • 6번: 선수 성장/하락/은퇴/군입대 최소 구조. 신규 유망주 생성은 3시즌 목표 이후 장기 과제로 보류
  • 7번: 2028 시즌 반복 안정화
  • 8번: 3시즌 자동 시뮬레이션 테스트
  • 9번: 시즌 히스토리/3시즌 요약 UI
  • 10번: 저장 안정성/마이그레이션 최소 보강
  • 11번: 안정성 하드닝
  • 후속: 모바일 미지원 정책과 LCK 팀 밸런싱 1차
  • 후속: 2026 LCK 1군 선수 사진 구조/리소스 적용
  • 후속: LCK 팀/리그 로고 에셋 적용
  • 후속: UI 검토와 화면 polish 1차
  • 후속: 데이터 저장 메뉴 분리 UI
  • 후속: 좌측 메뉴 그룹형 한글 사이드바 개선
  • 후속: 친구 베타 테스트 준비
  • 베타 전 재정비 1번: 리렌더링/Route 왕복 버그 수정
  • 베타 전 재정비 2번: 2026 시작 전 프리시즌 스토브리그
  • 베타 전 재정비 3번: 1군/2군 로스터 분리와 콜업/콜다운 구조
  • 베타 전 재정비 4번: 닫힌 스토브리그 정보 화면
  • 베타 전 재정비 5번: 타팀 로스터/스카우팅 화면
  • 베타 전 재정비 6번: 선수 평가 공개 정책 + 선수 카드 FIFA식 리디자인
  • 베타 전 재정비 7번: 메시지함/뉴스/일정 알림 1차
  • 베타 전 재정비 8번: 링크 하나로 접속 가능한 배포 구조 전환
  • 베타 피드백 B 묶음: LCK 10팀 선택, Ghost SUP 수정, 로스터 조작 즉시 사기 변화 제거
  • 베타 피드백 A 묶음: 스토브리그 제안 역할, 영입 확정 대기, 예산/포지션 제한, 우리 팀 이적 로그 하이라이트, AI-AI FA 영입 경쟁 기록
  • 후속: 연봉 / 예산 밸런싱 추가 조정
  • 후속: 저장 데이터 삭제 기능
  • 메시지함/뉴스 1차 구현 때 우리 팀 이적 로그를 메시지함에도 노출
  • 베타 피드백 #14: FA 시장에서 타팀 소속 선수 제거
  • 베타 피드백 #15: 선수 카드 기본 평가 별점이 모두 5성처럼 보이는 문제 수정
  • 베타 피드백 #16: LCK Cup/Rounds 정규 일정 간격 규칙 보정
  • 베타 피드백 #21/#23/#24/#25/#26/#27/#33: 좌측 메뉴/하위 메뉴 UX 정리
  • 베타 피드백 #18/#36/#37/#38/#39/#40/#44: 예산 가시성, 스크롤바, 메뉴 구조, 팀명 한글 표시, LCK 구단 목록 UI 정리
  • 후속: 베타 테스트 피드백 반영

기존 정교한 개인 프로젝트 v120시즌 안정 작동 목표는 유지하되, 기말 발표 전까지는 위 12개 뭉탱이를 우선한다.

1. 완료된 기반 작업

프로젝트 세팅

  • React + TypeScript + Vite 프로젝트 구조 생성
  • package.json, package-lock.json 구성
  • vite.config.ts 추가
  • tsconfig.json, tsconfig.node.json 추가
  • vitest.config.ts 추가
  • playwright.config.ts 추가
  • Express API 서버 골격 추가
  • MongoDB native driver 연결 추가
  • 서버 TypeScript 검증 설정 추가
  • .gitignore 정리
  • npm install 완료
  • 개발 서버 실행과 브라우저 확인 경험 축적
  • README 작성
  • GitHub 저장소 생성
  • main -> dev -> feature/* 브랜치 흐름 정리

폴더 구조

  • src/app: 앱 엔트리, 라우팅, Provider, reducer
  • src/pages: 화면 단위 조립
  • src/features: 사용자 기능 단위 컴포넌트
  • src/domain: 게임 규칙과 순수 함수
  • src/data: 선수, 팀, 대회 샘플 데이터
  • src/shared: 공통 UI, 레이아웃, 전역 스타일
  • src/types: 핵심 게임 타입
  • tests/unit: 도메인 단위 테스트
  • tests/integration: 컴포넌트/상태 통합 테스트
  • tests/system: 브라우저 기반 시스템 테스트
  • tests/acceptance: 사용자 가치 기준 인수 테스트

라우팅과 상태 구조

  • 실제 URL 기반 라우팅 도입
  • / 커리어 시작 화면
  • /hub 메인 허브
  • /roster 로스터 관리
  • /match 전략/훈련
  • /competitions 대회 현황
  • /competitions/:id 대회별 상세 현황
  • /competitions/:id/:subPage 대회 세부 탭 하위 URL
  • /calendar 시즌 캘린더
  • /calendar/:subPage 로드맵/달력 하위 URL
  • /saves 데이터 저장 전용 화면
  • /inbox/:subPage 메시지함 필터 하위 URL
  • /offseason/:subPage 스토브리그 정보/시장 하위 URL
  • /teams LCK 구단 정보 목록
  • /teams/:teamId LCK 구단 상세 스카우팅
  • LCK 구단 카드 약어 제거와 전통/정체성 소개 문구 적용
  • /settings 설정 placeholder 화면
  • /summary 시즌 요약
  • 좌측 메뉴 클릭 시 URL 동기화
  • 좌측 대회/캘린더 서브메뉴 클릭 시 하위 URL 동기화
  • 새 URL로 직접 진입하는 Playwright 테스트 기반 확보
  • 보호된 직접 URL 진입 시 커리어 setup으로 안전하게 복구
  • 렌더링 예외 발생 시 Error Boundary 복구 화면 표시
  • GameProvider에서 reducer/action 분리
  • gameReducer.ts 생성
  • GameProvider selector store 적용
  • useGameSelector 기반 상태 조각 구독
  • 진행 엔진을 domain/game-progress/progressCareer.ts로 분리
  • 순위표 갱신 로직을 standingsEngine.ts로 분리
  • 작은 세로 화면/소형 화면 미지원 안내 오버레이
  • 메시지함 중요도 배지 긴 제목 대응
  • 메시지함 생성 턴 UI 표시 제거

2. 완료된 게임 시스템

커리어와 시즌 시작

  • 커리어 시작 화면 구현
  • 팀 이름 입력
  • 2026 시즌을 첫 시즌으로 설정
  • 첫 시즌은 아시안게임 시즌으로 설정
  • 아시안게임은 이후 4년마다 등장하도록 설계
  • 게임 시작 시 LCK Cup은 inactive
  • 스토브리그와 로스터 확정 후 LCK Cup 활성화
  • 새 커리어 시작 직후 /offseason 2026 프리시즌 스토브리그 진입
  • 2026 프리시즌 28일/4주 시장 종료 후 같은 시즌 LCK Cup 활성화

팀과 선수 데이터

  • LCK 10팀 고정
  • 실제 LCK 팀명 반영
  • 실제 선수명 기반 샘플 선수 데이터
  • 선수 상태/계약/시장가치/시즌 롤오버 도메인을 src/domain/players로 1차 구조화
  • 다음 시즌 전환 시 성장/하락과 시장가치 갱신 반영
  • 은퇴 후보 optional 플래그 반영
  • 오프시즌 시작 시 은퇴 대상 계약/로스터/FA 제외
  • 오프시즌 시작 시 병역 pending 선수 이탈 처리
  • 2026 LCK 10개팀 1군+2군 전체 선수 데이터 import
  • 2026 LCK 1군 선수 사진 로컬 asset 적용
  • 로스터 빌더/메인 허브/시즌 로스터 관리/선수 상세 모달 portrait 표시
  • 사진 누락이나 2군 선수는 공통 fallback 아바타 표시
  • 실제 명단 seed와 게임용 능력치 override 분리
  • 기존 sample 핵심 선수 id/능력치 보존
  • 새 커리어 생성 시 2026 전체 LCK 선수 풀 사용
  • LCK 팀 밸런스 S~C 4단계 프로필 추가
  • 팀별 ELO, strength, 예산, 연봉계수, 팀 매력도 보정 추가
  • 2027/2028 다음 시즌 진입 시 직전 LCK 성적 기반 ELO/예산/strength 소폭 보정
  • 연봉/예산 UI 표시를 130 = 13억 기준 한국식 금액으로 변경
  • 포지션: TOP, JGL, MID, BOT, SUP
  • 선수 기본 스탯
  • 폼, 피로도, 사기 상태
  • 사기 5단계 이산 상태
  • 1군/2군 로스터 구조
  • 계약 타입: 1년, 2년, 1+1년

로스터 관리

  • 로스터 빌더 구현
  • 포지션 슬롯 표시
  • 예산 요약
  • 로스터 검증 함수
  • 로스터 비용 계산
  • 시즌 중 선발 5인 관리 화면
  • 후보 목록과 선발 라인업 분리
  • 같은 포지션 선수만 선발 슬롯에 드롭 허용
  • 드래그 앤 드롭 선발 교체
  • 드래그 카드 z-index 이슈 수정
  • 후보 목록에서 선발 5인 제외
  • 선수 카드 클릭 시 상세 스탯 팝업
  • 로스터 변경이 메인 허브와 경기 시뮬레이션에 반영
  • 로스터 빌더 팀/포지션/1군·2군/검색 필터

전략/훈련/상대 분석

  • 주간 계획을 CareerSave.weeklyPlan에 저장
  • 6개 전략 스타일 구현
  • 4개 훈련 강도 구현
  • 전략 스타일 상성 구조
  • 상대 핵심 라인 분석
  • 경기 전망 등급 표시
  • 유리한 스타일/불리한 스타일 표시
  • 전략과 훈련 강도가 경기 시뮬레이션에 반영

경기 시뮬레이션

  • seeded random 기반 결정적 테스트 가능 구조
  • ELO/전력 기반 승패 계산
  • BO3/BO5 시리즈 시뮬레이션
  • 밴픽 점수 계산 초안
  • 챔피언 선호/비선호, 메타 태그, 피어리스 확장 가능 타입
  • 밴픽 점수가 경기력 보정에 반영
  • 경기 결과가 MatchRecord로 저장
  • 경기 결과가 선수 상태 변화에 반영

날짜 진행

  • 진행 버튼으로 하루 진행
  • 우리 팀 경기일에는 플레이 버튼 표시
  • 경기 후에는 리뷰 상태 표시
  • 경기 후 진행 버튼으로 다음 날짜 이동
  • 우리 팀 경기가 없는 AI 경기일은 자동 처리
  • 진행 버튼 클릭 시 5초 진행중 오버레이 표시
  • 진행중 메뉴/버튼 잠금
  • 진행 메시지 단계 표시

3. 완료된 대회 시스템

  • 대회 Overview 설명 구체화
  • LCK Cup/First Stand/MSI/LCK Rounds/Asian Games/Worlds 핵심 규칙 요약 표시

LCK Cup

  • 현실 기반 간소화 포맷 확정
  • 직전 시즌 순위 기반 그룹 분배 설계
  • Baron/Elder 그룹
  • 그룹 배틀
  • 플레이인/플레이오프 싱글 엘리미네이션
  • LCK Cup 일정 생성
  • LCK Cup 진행
  • LCK Cup 대회 현황 화면
  • 그룹 현황과 일정/결과 표시

LCK Rounds 1-2 정규시즌

  • 10팀, 9주, 90시리즈
  • 팀당 18경기
  • 주당 2경기
  • 전체 팀 경기 생성
  • AI vs AI 경기 결과가 순위표에 반영
  • 실제 날짜 기반 일정 생성
  • 수요일~일요일 경기 배치
  • 월요일/화요일 준비 기간
  • 승수, 세트 득실, 세트 승수, 초기 시드순 정렬
  • 타이브레이커 경기 제외
  • 순위표 UI
  • 일정/결과 UI
  • 포스트시즌 컷라인 표시
  • 산술적 확정팀만 PO 배지 표시

LCK Rounds 1-2 포스트시즌

  • 상위 6팀 진출
  • 싱글 엘리미네이션 구조
  • 1위/2위 4강 직행
  • 3위 vs 6위, 4위 vs 5위
  • 4강 자동 배치
  • 결승 자동 배치
  • 전 경기 BO5
  • 2일 간격 일정 생성
  • 승자 다음 라운드 진출
  • 우승팀/준우승팀 저장
  • 토너먼트 탭에서 현재 라운드 강조
  • 완료 경기 스코어 표시
  • 예정 경기 슬롯 표시
  • 정규시즌 중에도 빈 브래킷 표시

First Stand

  • First Stand 대회 화면 골격
  • 8팀 참가 구조 표시
  • LCK 2팀, LPL 2팀, 기타 4개 리그 1팀씩 placeholder
  • 개요/조별리그/일정/토너먼트 탭
  • 2개 조, 조당 4팀 UI
  • 조별 순위표 실제 데이터 연결
  • 조별리그 일정/결과 실제 데이터 연결
  • 4강/결승 브래킷 자동 갱신
  • 현재 라운드와 우리 팀 경기 하이라이트
  • First Stand 실제 진행 엔진

4. 완료된 UI 작업

  • FM식 메인 허브 프레임
  • 좌측 아이콘 메뉴
  • 좌측 데이터 저장 메뉴
  • 좌측 메뉴 관리/시즌/시스템 그룹화와 한글 라벨 표시
  • 좌측 하위 메뉴를 실제 URL/필터/섹션 이동으로 연결
  • 좌측 메뉴 약어 아이콘을 inline SVG 아이콘으로 교체
  • 상단 날짜/대회/진행 버튼
  • 상단바 저장 버튼 제거와 자동 저장 상태 배지
  • 16:9 가로 화면 우선
  • UI 검증 기준을 1280x720 기본 PC, 1440x900 확장 PC, 태블릿 가로 최소 호환, 모바일 세로 미지원으로 문서화
  • 전역 16:9 stage와 상하/좌우 레터박스 프레임 적용
  • 전체 프레임 고정
  • 패널 내부 스크롤 중심
  • 메인 허브 현재 로스터
  • 매치 프리뷰/리뷰/다음 경기 상태 전환
  • 로스터 관리 화면
  • 대회 현황 화면
  • 시즌 캘린더 로드맵 보기
  • 시즌 캘린더 달력 보기
  • LCK Rounds 1-2 순위표/일정/토너먼트
  • First Stand 대회 화면
  • 16:9 스크린샷 저장 흐름
  • 주요 route 이동 시 중앙 콘텐츠 스크롤 상단 복귀
  • 전략/훈련 화면을 실제 다음 상대 리포트 기준으로 정리
  • 캘린더 로드맵 좁은 카드 날짜 잘림 수정
  • 모바일 미지원 안내 오버레이 재확인

5. 테스트와 검증

  • 단위 테스트: 로스터 검증
  • 단위 테스트: 계약/로스터 확정
  • 단위 테스트: 주간 계획
  • 단위 테스트: 경기 시뮬레이션
  • 단위 테스트: 시리즈 시뮬레이션
  • 단위 테스트: 선수 상태 변화
  • 단위 테스트: 시즌 캘린더 날짜
  • 단위 테스트: LCK Cup
  • 단위 테스트: LCK Rounds 1-2
  • 단위 테스트: First Stand 진행 엔진
  • 단위 테스트: MSI 진행 엔진
  • 단위 테스트: Worlds 진행 엔진
  • 통합 테스트: 로스터 빌더
  • 통합 테스트: 전략 패널
  • 통합 테스트: 대회 대시보드
  • 통합 테스트: First Stand 실제 결과 UI
  • 통합 테스트: MSI 대회 UI
  • 통합 테스트: Worlds 대회 UI
  • 통합 테스트: MongoDB 저장 관리자 UI
  • 통합 테스트: 커리어 시작 직후 첫 자동 저장
  • 시스템 테스트: 커리어 흐름
  • 인수 테스트: 로스터 구성
  • npm.cmd run build 통과 경험
  • npm.cmd test 통과 경험
  • npm.cmd run server:check로 MongoDB 인증 ping과 인덱스 확인
  • npm.cmd run test:system 통과 경험
  • npm.cmd run test:acceptance 통과 경험

6. 75% 지점까지 필요한 작업

6.1 저장 구조

  • MongoDB 저장 구조 설계
  • 저장 대상 엔티티 확정
  • CareerSave 저장 단위 확정
  • Express + MongoDB native driver API 서버
  • careerSaves 컬렉션 인덱스 생성
  • 커리어 생성 화면 저장 목록 조회
  • 데이터 저장 전용 화면에서 수동 저장/새 저장/불러오기 UI
  • 데이터 저장 전용 화면에서 저장 슬롯 삭제 UI
  • 상단바에는 자동 저장 상태 배지만 표시
  • 불러오기 후 /hub URL 복구 방식 결정
  • localStorage 임시 저장을 사용할지 최종 결정
  • 미래 멀티유저 확장을 위한 mode, worldId, participants, ownerId, revision 메타데이터 포함
  • 경기 진행 중 저장 시점 결정
  • 날짜 진행/경기 종료/대회 완료 후 자동 저장 연결
  • 저장 revision 충돌 감지와 409 피드백
  • 불러오기 시점 저장 데이터 runtime normalization
  • 자동 저장 fingerprint에 시즌 히스토리/오프시즌 요약 반영
  • 로그인 사용자 ID 기반 ownerId 연결
  • 저장 데이터 버전 최소 fallback 정책
  • 배포/장기 운영용 schemaVersion별 일괄 마이그레이션 정책

6.2 First Stand 진행 엔진

  • LCK 대표 2팀 결정 로직
  • 해외 대표 6팀 배치 로직
  • 2개 조 배정
  • 조별리그 일정 생성
  • 조별리그 결과 기록
  • 조별 순위표 계산
  • 조 상위 2팀 토너먼트 진출
  • 4강 일정 생성
  • 결승 일정 생성
  • First Stand 우승팀 저장
  • First Stand 완료 후 다음 대회 전환

6.3 First Stand UI 연동

  • 조별리그 실제 결과 표시
  • 조별 순위표 실제 데이터 연결
  • 토너먼트 슬롯 자동 갱신
  • 현재 라운드 강조
  • 우리 팀 경기 하이라이트
  • 완료/예정/진행 상태 구분
  • 16:9 스크린샷 저장

7. 1시즌 MVP까지 남은 작업

MSI

  • 2026 MSI 11팀 참가 구조 확정
  • 플레이인 4팀 싱글 엘리미네이션 구조 확정
  • 브래킷 스테이지 8팀 상위조/하위조 더블 엘리미네이션 구조 확정
  • LCK 1시드/2시드 산정 기준 1차 확정
  • 해외 고정 참가팀과 전력값 결정
  • First Stand 우승 리그 2시드 브래킷 직행 로직
  • First Stand 우승 리그가 CBLOL인 경우 준우승 리그 2시드 직행권 승계
  • 플레이인 진행 엔진
  • 브래킷 스테이지 진행 엔진
  • LCK Rounds 1-2 완료 후 MSI 활성화
  • MSI 결과 저장
  • MSI 전용 브래킷 UI 연결
  • MSI 16:9 브라우저 검증
  • MSI 브래킷 UI 가로 잘림/Play-In 제목 겹침 수정

LCK Rounds 3-4 / 3-5

  • 일반 시즌과 아시안게임 시즌 분기
  • 일반 시즌: LCK Rounds 3-5
  • 아시안게임 시즌: LCK Rounds 3-4
  • Rounds 1-2 순위 기준 Legend/Rise 그룹 5팀씩 분리
  • Rounds 1-2 승패/세트 기록 승계
  • Rounds 3-4 정규시즌 일정 생성
  • Rounds 3-5 정규시즌 일정 생성
  • Rounds 3-4 순위표 계산
  • Rounds 3-5 순위표 계산
  • Rounds 3-4 대시보드 그룹/일정/후속 경로 UI
  • Rounds 3-5 대시보드 그룹/일정/후속 경로 UI
  • MSI 완료 후 아시안게임 시즌 Rounds 3-4 활성화
  • MSI 완료 후 일반 시즌 Rounds 3-5 활성화
  • Rounds 3-4 이후 Season Play-In 실제 경기 생성
  • Rounds 3-5 이후 Season Play-In 실제 경기 생성
  • Rounds 3-4 이후 LCK Playoffs 실제 경기 생성
  • Rounds 3-5 이후 LCK Playoffs 실제 경기 생성
  • 포스트시즌 또는 Worlds 진출권 연결
  • LCK Season Play-In/Playoffs 최종 1~4위 저장
  • MSI 성적 기반 LCK Worlds 4시드 조건부 해석

Asian Games

  • 2026 시즌 등장
  • 이후 4년마다 등장
  • 대표팀 선발 규칙
  • 개막 7일 전 LCK 선수 풀 기준 대한민국 대표 6인 자동 선발
  • 개막 6일 전 직접 플레이/자동 진행 선택 모달
  • 선택 전 진행 버튼 잠금
  • 8개 국가 8강 토너먼트와 동메달전
  • 결승 BO5, 나머지 BO3
  • 직접 플레이 시 한국 경기만 match-preview 진입
  • 자동 진행 시 한국 경기 포함 AI 자동 처리
  • Asian Games 대시보드 Overview/Schedule/Bracket
  • 금메달 시 대표 6인 militaryServiceStatus = "completed"
  • 아시안게임 금/은/동 결과 기록
  • 차출 선수 폼/피로도 보상 이벤트

Worlds

  • MSI 성적 기반 리그별 추가 시드 판정
  • LCK 4위 조건부 Worlds 진출 처리
  • Worlds 20팀 참가 풀 확정
  • Worlds 참가 풀에 LCK/LPL/LCS/LEC 기본 3팀, LCP/CBLOL 기본 2팀, MSI 보너스 2팀, LCQ placeholder 2팀 반영
  • Worlds 실제 스케줄 생성
  • 플레이인 참가팀 구성과 진행 방식 확정
  • 플레이인 상위 4팀 조별리그 진출
  • 조별리그 16팀
  • 8강 토너먼트
  • Worlds 우승팀 저장

시즌 종료

  • 시즌 요약 화면 실제 데이터 연결
  • 시즌 히스토리/3시즌 결산 UI
  • 스토브리그 결과를 직전 시즌 summary에 저장
  • 시즌별 대회 결과, 유저 팀 성적, Worlds 우승팀, 주요 선수 변화 표시
  • 시즌 기록 저장
  • 계약 연차 감소
  • /summary를 시즌 결과 확인과 스토브리그 진입 허브로 정리
  • /offseason 신규 화면
  • 28일/4주 날짜 진행형 스토브리그
  • 1주차 계약 만료 선수 재계약/방출
  • 재계약 제안 pending 후 하루 단위 수락/거절 판정
  • 2~4주차 FA 계약 제안
  • FA 제안 다음날 AI 경쟁 처리
  • 선수의 유저/AI 제안 전부 거절 가능
  • 마감일 접근에 따른 최소 수락선 완만 완화
  • AI FA 영입 결과 currentTeam과 이적 로그 반영
  • AI 팀 포지션 부족 기반 FA 보강
  • 계약 제안 전용 모달
  • 미래 AI-AI/AI-유저 거래협상 확장용 offer 구조
  • 28일차 최종 로스터 검증 후 다음 시즌 전환
  • 프리시즌 28일차는 다음 시즌 전환 대신 2026 LCK Cup 활성화
  • 프리시즌 최종 등록 조건: 선발 5명, 아카데미 계약 선수 5명, 예산 준수
  • 선수 나이 증가
  • 선수 상태 가벼운 리셋
  • 다음 시즌 일정 생성
  • 시즌 2 진입

8. 후순위 확장

  • MongoDB 실제 연결
  • 로그인/사용자별 저장
  • 배포 전 dev/staging/prod MongoDB 프로젝트 또는 DB 분리
  • 배포 전 Atlas IP Access List 운영 정책 재확인
  • 배포 전 운영용 Database User 권한 최소화
  • 배포 전 노출된 개발용 비밀번호 교체
  • 베타 배포용 브라우저별 ownerId 자동 분리
  • Express 서버의 React 정적 파일 서빙과 SPA fallback
  • 정식 운영 전 API CORS 허용 도메인 운영 URL로 재설정
  • 정식 운영 전 ownerId=local-dev를 실제 로그인 사용자 ID로 교체
  • 무료 요금제 저장 용량/커넥션 사용량 모니터링
  • 2026 LCK 10개팀 1군+2군 전체 선수 데이터 import
  • 스토브리그 2차: AI 로스터 변화의 다음 시즌 팀 전력 반영
  • 스토브리그 2차: AI-AI/AI-유저 거래협상 UI
  • 스토브리그 2차: 선수 선호도, 경쟁 입찰, 협상 결렬 최소 구조
  • 오프시즌 뉴스와 팀별 로스터 변동 로그 고도화
  • 선수 은퇴 최소 처리
  • 군 입대 최소 처리
  • 유망주 생성 또는 외부 선수 공급. 3시즌 목표 이후 장기 과제
  • 장기 성장
  • 뉴스/이벤트 카드
  • 트레이드/바이아웃
  • 고급 밴픽
  • 챔피언 메타 변화
  • 피어리스 시스템 고도화
  • 실제 팀 로고/선수 사진 URL 테마
  • 커스텀 테마 JSON 가져오기
  • 20시즌 빠른 시뮬레이션 테스트
  • 장기 밸런싱

9. 문서 관리

  • README 정리
  • 구현 순서 안내판 정리
  • 체크리스트 단일화
  • 핸드오프 문서를 체크리스트/구현순서 중심으로 정리
  • GitHub Wiki 최신화
  • GitHub Issue 정리
  • PR 설명 최신화
  • 주간 회고 작성
  • 친구 베타 테스트 가이드 작성

10. 완료 판단 기준

1시즌 MVP 완료 기준:

  • 사용자가 커리어를 만들고 로스터를 확정할 수 있음
  • LCK Cup을 끝까지 진행할 수 있음
  • First Stand를 끝까지 진행할 수 있음
  • LCK Rounds 1-2 정규시즌과 포스트시즌을 끝까지 진행할 수 있음
  • MSI를 끝까지 진행할 수 있음
  • 시즌 후반 LCK 일정을 진행할 수 있음
  • 아시안게임 시즌 LCK Rounds 3-4와 Season Play-In/Playoffs를 끝까지 진행할 수 있음
  • Worlds를 끝까지 진행할 수 있음
  • 시즌 요약이 표시됨
  • 다음 시즌으로 넘어갈 수 있음
  • 저장/불러오기 최소 구조가 있음
  • npm.cmd run build 통과
  • 핵심 도메인 테스트 통과
  • 주요 UI 흐름 16:9 검증 완료

기말 프로젝트 LCK 3시즌 작동 완료 기준:

  • 2026 아시안게임 시즌을 끝까지 진행할 수 있음
  • 2027 일반 시즌을 끝까지 진행할 수 있음
  • 2028 일반 시즌을 끝까지 진행할 수 있음
  • 2028 Worlds 종료 후 시즌 요약과 스토브리그에 도달할 수 있음
  • 2029 진입 직전 상태에서 저장/불러오기와 자동 저장이 정상 동작함
  • 3시즌 자동 시뮬레이션 테스트 또는 debug runner가 핵심 완료 조건을 검증함
  • debug runner가 중복 id, 잘못된 match record 참조, 시즌 상태 누수 같은 무결성 위반을 실패로 처리함