flutter
Flutter는 wger용 피트니스·운동 앱입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗스크린골프·필드 모임 회원용 모바일 우선 웹앱(PWA). Next.js + Supabase + Vercel 무료 티어로 운영합니다.
현재 기능(specs/001-kakao-login-home): 카카오 로그인, 가입 승인(첫 가입자는 매니저), 홈 대시보드(가장 가까운 라운딩·최신 공지), 공지 등록·수정·삭제, 홈 화면에 추가 안내.
npm install
npx supabase start # Docker Desktop 필요. 출력된 URL/키를 .env.local 에 복사 (.env.example 참고)
npx supabase db reset # 마이그레이션 + 시드(개발용 샘플 라운딩)
npm run dev
supabase/.env.example을 supabase/.env로 복사해 REST API 키와 클라이언트 시크릿을 넣고 npx supabase stop && npx supabase start로 재시작합니다(config.toml에 provider가 이미 켜져 있음). E2E는 카카오를 거치지 않고 세션을 주입하므로 이 설정 없이도 동작합니다.
npm run check # lint + tsc + Vitest(도메인 100% 커버리지 기준)
npm run test:db # pgTAP: RLS·승인 RPC·트리거 (E2E 후에는 먼저 `npx supabase db reset` — 남은 사용자가 있으면 실패)
npm run test:e2e # Playwright (360px), 로컬 Supabase 실행 필요
배포는 아래 순서로 한 번만 진행합니다. 비용은 모두 무료 티어 안에서 발생하지 않습니다.
seed.sql은 개발용이라 운영에는 적용되지 않습니다.
npx supabase login
npx supabase link --project-ref <프로젝트 ref>
npx supabase db push
Project URL과 anon public 키를 확인합니다. service_role 키는 어디에도 등록하지 않습니다(앱은 사용하지 않고, 로컬 E2E 테스트에서만 씁니다).https://<프로젝트 ref>.supabase.co/auth/v1/callback 을 등록합니다.account_email을 함께 요청합니다. 카카오 콘솔에 이메일 동의항목이 없으면 "설정하지 않은 동의 항목: account_email" 오류가 납니다. 이메일이 "동의불가"로 보이면 앱을 개인 개발자 비즈 앱으로 전환(사업자 등록 불필요)한 뒤 카카오계정(이메일)을 선택 동의로 설정하세요. 선택 동의라 거부해도 로그인되려면 Supabase의 "Allow users without an email"이 필요합니다(아래 3번).auth.users에 이메일이 저장됩니다(앱 테이블 members에는 저장하지 않음).http://localhost:54321/auth/v1/callback, http://127.0.0.1:54321/auth/v1/callbackhttps://<배포 도메인>https://<배포 도메인>/auth/callbackNEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY운영 DB에서 가장 먼저 카카오 로그인한 계정이 매니저가 되고 자동 승인됩니다. 배포 직후 운영자가 먼저 로그인하세요. 이후 가입자는 승인 대기 상태가 되며 /admin/members에서 승인합니다.
public/icons/)은 임시 이미지입니다. 모임 로고로 교체하세요(192, 512, maskable 512).specs/001-kakao-login-home/quickstart.md의 8개 시나리오를 iOS Safari·Android Chrome 실기기에서 확인합니다. 특히 실제 카카오 로그인, iOS 공유 버튼 안내, Android 설치 버튼은 자동 테스트로 검증할 수 없습니다.