프론트엔드/백엔드
데이터베이스 및 인증
통계 시각화
명함 제작 인터페이스
사용자는 템플릿 선택 후 에디터에서 드래그 앤 드롭 방식으로 명함 디자인
텍스트, 이미지, 아이콘 등의 요소를 자유롭게 배치하고, 수정 가능
명함 공유:
제작된 명함은 고유 URL(slug)을 통해 공유
공유된 명함은 별도의 페이지에서 일반 사용자에게 노출
데이터 추적 및 통계 분석:
추적 항목: 총 조회수, 고유 방문자, 이미지 저장 횟수, 이메일 클릭 횟수, QR 코드 스캔 횟수, 평균 체류 시간
각 이벤트 발생 시 API 호출을 통해 Supabase에 기록
수집된 데이터는 Chart.js를 통해 관리자 및 명함 소유자 대시보드에서 시각화
페이지 구성 및 역할
데이터베이스 설계 및 이벤트 추적
• 주요 테이블 예시:
• users: 사용자 계정 정보 저장
• cards: 제작된 명함 정보 (디자인 데이터, 소유자 정보, 고유 slug 등)
• card_views 또는 card_events: 명함 조회 및 각종 이벤트(이미지 저장, 이메일 클릭, QR 스캔 등) 기록
• 각 이벤트는 event_type(조회, 저장, 클릭 등), 타임스탬프, 사용자 정보(IP, User-Agent 등)를 포함
• templates: 기본 템플릿 디자인 정보
• 데이터 집계:
• 총 조회수/고유 방문자: 각 명함의 접속 로그 분석
• 이미지 저장/이메일 클릭/QR 스캔: 해당 액션 발생 시 API 호출로 이벤트 기록
• 평균 체류 시간: 페이지 입장 및 퇴장 시각을 기록해 평균 계산
사용자 플로우
구현 단계 및 고려 사항
• 프로젝트 초기 세팅:
• Next.js 14, TypeScript 환경 구성
• Supabase 프로젝트 설정 및 연동 (.env 파일에 키/URL 저장)
• DB 및 인증 설정:
• Supabase Dashboard에서 users, cards, cardevents 등 테이블 생성
• Supabase Auth를 활용한 사용자 인증 구현
• 프론트엔드 구현:
• Next.js App Router를 활용한 각 페이지 구성
• 에디터 페이지의 드래그 앤 드롭 인터페이스 구현 (react-dnd 등 사용)
• 명함 상세 및 공유 페이지에서 이벤트 추적 스크립트 구현
• 통계 및 대시보드 구현:
• API 라우트 혹은 서버 액션을 통해 Supabase에서 통계 데이터 집계
• Chart.js를 사용한 데이터 시각화 및 대시보드 구성
• 테스트 및 배포:
• 각 기능(명함 제작, 공유, 이벤트 기록, 통계 시각화) 단위 테스트
• 최종 배포 전 성능 및 보안 점검 (특히 데이터 추적 및 인증 관련)텍스트_
DB

유저 플로우
