Novato 프로젝트 문서 (마스터)
Novato 농구 리그 관리 서비스의 웹(React) + 앱(Flutter) 기능 종합 문서. 현재 상태 지도 + 변경 이력.
세부는 각 페이지 참고. 이 페이지는 전체 지도 + 요약만.
문서 구조
웹 (novato.kr · novato_react)
- 웹-개요 — 스택·라우트 구조 요약
- 웹-메뉴트리 — 메인 탭/서브탭 트리 (일반 사용자 동선)
- 웹-독립페이지 — 메뉴에 없는 직접 URL 페이지 (방송 등)
- 라이브스트리밍-방송 — PRISM 오버레이 방송 운영법
앱 (novato_app · Flutter)
- 앱-개요 — 웹뷰 셸 + 버전/업데이트
- 앱-더보기메뉴 — ”…” 팝업 메뉴 (5개)
- 앱-StatPad — 핵심 네이티브 기능(스탯 입력→업로드→방송)
- 앱-정리후보 — 제거 완료 기록
공통
- 아키텍처 — 웹·앱·Supabase·R2 연동 구조
한눈에 보기
| 구분 | 화면 / 메뉴 |
|---|---|
| 웹 탭 (novato.kr) | 대시보드 · 일정 · 순위 · 팀/선수 · 라운지 (5개) |
| 웹 직접 URL | broadcast(PRISM방송) · highlights(유튜브 스탯입력) · 예측 · 게시판 · 공지 · 통계(DAU) |
| 앱 (novato_app) | 웹뷰(위 웹앱) + ”…” 메뉴: 새로고침 · 공지관리 · StatPad · 공유 · 정보 |
- 웹 = 일반 기능 전부. 스탯 입력은
/highlights(유튜브), 경기 상세는 일정 카드에서 진입(경기 탭 제거됨). - 앱 = 웹뷰 + 특수기능. 현재 v1.0.2.
정리 현황 (대부분 완료)
| 대상 | 상태 |
|---|---|
웹 /broadcast24·/tvbroadcast·/scoreboard·/mobile-scoreboard·/mobile-broadcast | ✅ 제거 (PR #29) |
웹 /upload(Google Sheets/Excel) 페이지·서비스 | ✅ 제거 (PR #29) |
| 웹 경기 탭(하단/상단) | ✅ 제거 (PR #32) — 일정 카드에서 진입 |
| 앱 스탯업로드·신문기사·전광판 메뉴 + Streamlit·갤러리·전광판 화면 | ✅ 제거 (v1.0.0) |
| 앱 TV 방송채널 메뉴, undo/redo·미사용 코드 | ✅ 제거 (v1.0.1) |
| 유지 | 웹 /broadcast(PRISM), /highlights(유튜브 스탯), /stats(DAU), /admin |
변경 이력 (2026-07)
웹
- +1점 규칙(녹색 견장) — 통계 원본, 점수만 +1. 앱-StatPad
- 방송/스코어보드 5종·업로드 페이지 폐기 (PR #29)
- 일정 카드 ”…” 메뉴 재설계(모드 토글·롱프레스 제거), 바디클릭=상세/예측 (PR #30) → 웹-메뉴트리
- 일정 예정경기 2주 폴딩(그 이후 접기) (PR #31)
- 브로드캐스트 득점리더 라이브스탯 일치 수정(항상 원시카운트+보너스) (PR #31)
- 경기 탭 제거, 팀 메뉴 역할 지정(감독/코치 등), 프로필 수정 시 기본정보 탭, 카드 메뉴 z-index (PR #32)
앱 (v0.9.9 → v1.0.2)
- v1.0.0: 메뉴 8→5, 레거시 제거
- v1.0.1: StatPad 심플모드 스탯 전면 확장(모든 스탯+실패·리바운드), 카드에 리바운드/스틸 표시, 업데이트 확인 전체버전 감지 + 강제 APK 다운로드 앱-개요
- v1.0.2: 심플모드 비활성 선수 서버 업로드 제외 버그 수정 앱-StatPad
남은 아이디어
- admin 통합 관리:
/stats(DAU)·/admin(공지) 등 관리 기능을 한 곳으로 통합(운영자 희망) → 웹-독립페이지
작성: 코드베이스(novato_react, novato_app) 분석 기반. 파일:line 근거는 각 세부 페이지 참조.