Conversation
하단 💡 알림 종류 안내 박스를 제거하여 UI 간소화 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Megaphone import가 불필요하게 추가되어 제거 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- any 타입 제거: IconComponent, Firebase payload, response 타입 정의 - useEffect 내 setState 제거: 초기값으로 대체하여 React 경고 해결 - 미사용 import 제거: ServiceWorkerRegistration - 미사용 변수 제거: poid - 옵셔널 체이닝 적용: newComment?.id Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Firebase Cloud Messaging(FCM) 기반 웹 푸시 알림 구현 [주요 기능] - 브라우저 알림 권한 요청 및 FCM 토큰 발급 - 알림 종류별 설정 (게시판 댓글/답글, 포스트 댓글/답글, 공지사항) - 포그라운드/백그라운드 메시지 수신 - DB에 토큰 저장 및 알림 선호도 관리 - 댓글/답글 작성 시 푸시 알림 전송 [기술 스택] - Firebase Admin SDK (서버) - Firebase Cloud Messaging (FCM) - Service Worker (백그라운드 메시지) - Supabase (notification_push_tokens, notification_preferences 테이블) [DB 스키마] - notification_push_tokens: FCM 토큰 저장 - notification_preferences: 알림 종류별 설정 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
보안 민감 정보가 포함된 firebase-service-account.json 커밋 방지 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
로컬 파일 시스템에서 Service Account 키를 읽는 대신 환경변수 FIREBASE_SERVICE_ACCOUNT_KEY 사용하도록 변경 이유: 배포 환경(Vercel/EC2)에서도 동작하도록 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
하나의 JSON 환경변수 대신 필드별로 나누어 설정 이유: - 더 명확한 환경변수 관리 - Vercel/EC2에서 개별 입력 용이 - private_key의 \n → \n 변환 처리 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🎯 Summary
🔴 AS-IS
🟢 TO-BE
/profile/notifications에서 개인 설정 관리💬 참고사항
기술 스택
notification_push_tokens,notification_preferences테이블환경 변수 추가 필요
# Firebase (Vercel 및 로컬 .env.local) NEXT_PUBLIC_FIREBASE_API_KEY= NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN= NEXT_PUBLIC_FIREBASE_PROJECT_ID= NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET= NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID= NEXT_PUBLIC_FIREBASE_APP_ID= NEXT_PUBLIC_FIREBASE_VAPID_KEY=구현 파일
packages/web/src/app/api/notification-preferences/- 알림 설정 APIpackages/web/src/app/api/push/- 토큰 구독/해지 APIpackages/web/src/components/settings/push-notification-settings.tsx- 설정 UIpackages/web/src/hooks/use-push-notification.ts- 푸시 알림 훅packages/web/src/lib/push.ts- 서버사이드 전송 로직packages/web/src/lib/firebase/client.ts- FCM 클라이언트packages/shared/src/db/schema.ts- DB 스키마 추가주의사항
.gitignore됨)테스트 플랜
🤖 Generated with Claude Code