Dugout Value
Baseball research on pitching, hitting, and projections, plus tools for comparing players, contracts, and trade value.
여수한려초등학교 수영부 선수단 및 훈련 관리 플랫폼
Translation pending
Sports & fitnessTypeScript · PLpgSQLGitHub @gmlduqzhd123-labOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
여수한려초등학교 수영부
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
여수한려초등학교 수영부의 선수, 기록, 일정, 활동 자료를 한곳에서 관리하는 웹앱(PWA)입니다. • 운영 주소: https://hallyo.vercel.app • 배포: main 브랜치에 병합되면 Vercel이 자동으로 운영 배포합니다. PR마다 미리보기 배포가 만들어집니다. • Next.js 16 (App Router, Server Actions) · React 19 · TypeScript • Supabase: 로그인(Auth), Postgres DB, Storage(photos 버킷) • Tailwind CSS v4, TanStack Query, react-hook-form + zod, recharts, Leaflet • Sentry (오류 수집), Vercel (배포) ⚠️ 이 프로젝트의 Next.js는 예전 버전과 다른 부분이 있습니다. 예를 들어 미들웨어 대신 src/proxy.ts를 씁니다. 코드를 고치기 전에 node_modules/next/dist/docs/의 문서를 확인하세요. (AGENTS.md 참고) 1. Node.js 20 이상을 준비합니다. 2. 의존성을 설치합니다.Read the full README ↗
여수한려초등학교 수영부의 선수, 기록, 일정, 활동 자료를 한곳에서 관리하는 웹앱(PWA)입니다.
main 브랜치에 병합되면 Vercel이 자동으로 운영 배포합니다. PR마다 미리보기 배포가 만들어집니다.
| 분류 | 메뉴 |
|---|---|
| 선수·기록 | 선수 명단, 선수 기록(지역·전국), 기록 분석, 라이벌 비교, 순위 시뮬레이터 |
| 일정 | 대회 일정(지도·숙소·식당·참가자), 훈련 일정 |
| 자료 | 수영 관련 영상, 대회 영상, 활동 사진, 수영부 연혁, 보도 기사, 명예의 전당 |
| 운영 | 공지사항, 상담 일지(관리 권한), 개발 일지, 마이 페이지, 환경 설정(개발자) |
photos 버킷)⚠️ 이 프로젝트의 Next.js는 예전 버전과 다른 부분이 있습니다. 예를 들어 미들웨어 대신
src/proxy.ts를 씁니다. 코드를 고치기 전에node_modules/next/dist/docs/의 문서를 확인하세요. (AGENTS.md참고)
npm ci
.env.example을 복사해 .env.local을 만들고 값을 채웁니다.
값은 Supabase 대시보드 → Project Settings → API 에서 확인할 수 있습니다.
cp .env.example .env.local
npm run dev
| 이름 | 필수 | 설명 |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | ✅ | Supabase 프로젝트 URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | ✅ | Supabase 공개(anon) 키 |
운영 환경의 값은 Vercel 프로젝트 설정 → Environment Variables 에 들어 있습니다.
| 명령 | 설명 |
|---|---|
npm run dev | 개발 서버 |
npm run build | 운영용 빌드 |
npm run start | 빌드한 앱 실행 |
npm run lint | 코드 검사 (ESLint) |
npx tsc --noEmit | 타입 검사 |
npm test | 단위 테스트 (Vitest, src/**/*.test.ts) |
…@hallyoswim.com 주소로 Supabase Auth에 등록합니다.pending(승인 대기) 상태가 되고, 관리자가 승인해야 대시보드에 들어갈 수 있습니다. 이 흐름은 src/proxy.ts에서 처리합니다. 승인 확인 결과는 10분 동안 쿠키에 기억해 페이지마다 DB를 조회하지 않습니다(자료 접근은 DB 권한 규칙이 따로 막음).admin(관리자), developer(개발자), coach(지도자), athlete(선수), parents(학부모), guest(일반인)
/dashboard/explore. 선수 기록(우리 선수·전국), 기록 분석, 라이벌 비교, 순위 시뮬레이터, 대회 일정(이름·날짜·장소만), 수영 관련 영상, 연혁, 보도 기사, 명예의 전당, 전체 공개 공지, 개발 일지만 볼 수 있습니다. 비회원에게 보이는 선수 정보는 이름·성별·학년뿐이고, 지도자가 고친 분석 문구는 회원 전용입니다. 공개 화면 목록은 src/lib/guest.ts, DB 권한은 schema.sql 11·12번에 있습니다./storage/photos/... 경로(로그인 확인 후 전달)로 보여 줍니다.src/
app/
actions/ Server Actions (DB 쓰기와 권한 확인)
dashboard/ 로그인 후 화면 (메뉴별 폴더)
login/ signup/ pending/
components/ 공용 컴포넌트
data/ 퀴즈·에세이·편지·시 등 고정 콘텐츠
utils/supabase/ Supabase 클라이언트 (서버용 / 브라우저용)
proxy.ts 로그인·승인 여부에 따른 페이지 이동
supabase/
schema.sql DB 스키마 (운영 DB 에서 뽑은 실제 구조)
inspect_schema.sql 운영 DB 실제 구조 확인용 쿼리
manual/ SQL Editor 에서 직접 실행해야 하는 변경
scripts/ 데이터 일괄 등록 등 일회성 스크립트 (앱 빌드와 무관)
public/ 로고, 글꼴, 공유 이미지, 서비스워커
supabase/schema.sql은 운영 DB에서 직접 뽑아 정리한 실제 구조입니다(테이블 18개, 권한 규칙, 함수). 운영 DB에 그대로 실행하지 마세요. DB를 바꾸면 이 파일도 함께 고쳐 주세요.athletes에 컬럼을 추가하면 schema.sql 7번의 grant와 src/lib/athletes.ts의 ATHLETE_COLUMNS에도 넣어야 합니다.supabase/inspect_schema.sql을 실행해 확인할 수 있습니다.is_deleted = true로 표시만 합니다(soft delete). 단, 글에 붙은 사진 파일은 글을 지울 때 저장소에서도 지웁니다. 남은 파일은 환경 설정 → 사진 저장소 정리로 지울 수 있습니다.audit_logs 테이블에 남습니다.© 2026 엽쌤 · 달디단