# F1 Portal 문서화: 캘린더 우승자 고정 이슈 기록 F1 Portal 프로젝트에서 캘린더 우승자 정보가 빌드 429에서 예상치 못하게 고정되는 버그를 발견하고 이를 문서화했습니다. 이 이슈는 실시간으로 업데이트되어야 하는 레이스 결과 데이터가 특정 빌드 버전에서 캐시되거나 상태가 유지되면서 발생하는 것으로 보입니다. 사용자 입장에서는 최신 레이스 결과를 확인할 수 없는 심각한 문제이기 때문에, 이를 TODOS 트래킹 시스템에 #6으로 등재하여 체계적으로 관리하기 시작했습니다. 이번 작업을 통해 우리는 단순한 버그 리포팅을 넘어 문제의 재현 조건, 영향 범위, 그리고 추정 원인까지 명확히 기록했습니다. 캘린더 데이터 바인딩 로직과 빌드 캐시 메커니즘 간의 상호작용을 분석하면서 상태 관리의 중요성을 다시 한 번 체감했습니다. 특히 AI 기반 로그 분석 도구를 활용해 빌드 429 전후의 변경사항을 비교하면서 근본 원인을 더 빠르게 좁혀나갈 수 있었습니다. 앞으로 이 이슈 해결을 통해 데이터 갱신 파이프라인을 더욱 견고하게 개선할 수 있을 것으로 기대됩니다.
F1 Portal 프로젝트에서 지난 달간 상당한 안정성 개선 작업을 완료했습니다. API 통신 과정에서 발생하던 여러 버그들을 체계적으로 해결했는데, 특히 Jolpica API의 rate limit(429) 처리 시 재시도 로직이 없어서 500 에러로 변환되던 문제, 그리고 결과 데이터 조회 실패 시 이미 캐시된 우승자 정보가 사라지던 문제 등을 고쳤습니다. 캘린더 시스템도 API의 round 번호를 정체성으로 사용하던 방식을 개선하여 라운드 식별의 안정성을 높였고, 주말 기간에 FP1 탭이 사라지는 현상도 근본적으로 해결했습니다. 코드 품질과 성능 면에서도 눈에 띄는 진전이 있었습니다. 통합 fetch 레이어를 구현하여 upstream마다 다른 재시도 정책을 적용할 수 있게 만들었고, 타이밍 포매터를 공유 컴포넌트로 리팩토링했습니다. 또한 Vitest를 도입하여 데이터 레이어의 위험한 경로들에 대한 테스트 커버리지를 확보했으며, 세션 탭을 path route로 이동시켜 GP 페이지들이 사전 렌더링될 수 있도록 성능을 최적화했습니다. 이번 작업에서 주목할 점은 단순히 버그를 수정하는 것을 넘어 시스템의 근본적인 아키텍처를 개선했다는 것입니다. API 프록시의 allowlist 정책 도입으로 보안을 강화했고, 서버 렌더링으로 번들 크기를 줄이면서도 정보 페이지의 인터랙티브한 탭 토글 기능은 유지했습니다. 총 29개 파일에 걸쳐 2,486줄을 추가하고 1,053줄을 제거한 변경으로, F1 Portal의 안정성과 사용자 경험이 한층 업그레이드되었습니다.
# F1 Portal 대규모 업데이트: 팬 경험을 위한 종합 플랫폼 완성 F1 Portal에 대대적인 업데이트를 마쳤습니다. 이번 작업에서는 101개의 파일을 수정하며 총 13,313줄의 코드를 추가했는데, 단순한 버그 수정을 넘어 플랫폼의 근본적인 확장성을 재정의했습니다. 핵심은 레이스 리플레이 플레이어, 원형 분석, 드라이버 비교 페이지 같은 깊이 있는 분석 기능들을 추가한 것입니다. 특히 Jolpica API와의 통합에서 레이스 취소로 인한 라운드 번호 매핑 문제를 해결하고, 429 재시도 로직과 페이지네이션을 구현해 API 안정성을 대폭 개선했습니다. 사용자 경험 측면에서도 상당한 진전이 있었습니다. PWA 기능을 추가해 오프라인 접근성을 확보했고, 뉴스 검색 필터와 팬터지 리그 페이지로 커뮤니티 참여도를 높였습니다. Firebase 기반 커뮤니티 레이어를 구현하면서 사용자 간 상호작용의 기반을 마련했으며, 시즌 아카이브와 라운드 스탠딩 뷰어로 과거 데이터 접근성도 크게 개선했습니다. 흥미로운 점은 이 모든 기능들이 분산되어 있지 않고, GP 페이지에서 세션/라운드 리뷰 포스트로 자연스럽게 연결되는 통합 경험을 제공한다는 것입니다. 인프라 측면에서는 Railway 설정과 자동화 스크립트를 추가하며 운영 안정성을 갖추었습니다. 개발 과정에서 AI 도구를 활용해 반복적인 작업을 가속화했고, 문서화도 함께 진행해 향후 유지보수성을 높였습니다. 이제 F1 팬들이 필요로 하는 대부분의 정보와 분석을 한 곳에서 경험할 수 있는 진정한 종합 포털이 완성되었습니다.