아니근데의 공개 Next.js 프론트엔드 저장소입니다.
- 프로덕션 웹: https://anigeunde.bukae.co.kr
- 프로덕션 API: https://api.anigeunde.bukae.co.kr
- API 저장소:
SSamParkSoft/anigeunde-api(private)
브라우저는 Supabase 데이터베이스에 직접 쓰지 않습니다. 로그인은 Supabase Auth를 사용하고, 쟁점·투표·의견 데이터는 FastAPI를 통해 처리합니다.
pnpm install
pnpm dev- 웹: http://localhost:3000
- 기본 API: http://localhost:8000
API 주소를 바꾸려면 apps/web/.env.example을 apps/web/.env.local로
복사하고 NEXT_PUBLIC_API_URL을 설정합니다.
카카오톡 주제 공유는 Kakao Developers의 JavaScript 키를
NEXT_PUBLIC_KAKAO_JAVASCRIPT_KEY에 설정합니다. JavaScript SDK 도메인과 제품 링크의
Web 도메인에는 로컬 테스트용 http://localhost:3000과 운영
https://anigeunde.bukae.co.kr을 등록합니다. 키가 없거나 SDK를 사용할 수 없는 환경에서는
모바일 기본 공유 또는 링크 복사로 자동 전환됩니다.
Supabase Project URL과 publishable key는 공개 클라이언트 설정으로
.env.example에 기록되어 있습니다. DB 비밀번호와 secret/service-role
키는 이 저장소에서 사용하지 않습니다.
pnpm lint
pnpm typecheck
pnpm buildGitHub Actions의 Deploy Web 워크플로가 Vercel production 배포를
담당합니다. main 브랜치의 CI 워크플로가 성공하면
CD_WEB_ENABLED=true 설정에 따라 자동으로 production에 배포됩니다.
필요한 production-web 환경 secret은 다음과 같습니다.
VERCEL_TOKEN
VERCEL_ORG_ID
VERCEL_PROJECT_ID
Vercel 프로젝트의 Root Directory는 apps/web입니다.
이 저장소에는 브라우저에 전달되어도 안전한 코드와 설정만 둡니다. 데이터베이스 접속 문자열, Supabase secret/service-role 키, OAuth client secret, OCI SSH 키와 관리자 운영 로직은 넣지 않습니다.
개발자는 AGENTS.md와 docs/README.md를
먼저 확인합니다.