Skip to content

tturupapa-stack/calreview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

캘리 (Cally)

체험단 통합 검색 + 구글 캘린더 연동 서비스

🎯 프로젝트 개요

Cally는 여러 체험단 사이트를 한 곳에서 검색하고, 당첨 시 구글 캘린더에 자동으로 일정을 등록해주는 웹 서비스입니다.

핵심 차별점

  • 통합 검색: 7개 체험단 사이트 통합 검색 (400개+) + 자연어 검색 + 제목 검색
  • 북마크 관리: 체험단 북마크 및 선정 관리 (선정 시 자동 리뷰 마감일 계산)
  • 리뷰 기간 자동 표시: 각 체험단의 리뷰 작성 기간 정보 제공 (크롤링)
  • 구글 캘린더 연동: 당첨 시 자동 일정 등록
  • 네이버 로그인 세션 공유: Cally 로그인 → 원본 사이트도 로그인 유지 → 원클릭 신청!
  • 일정 캘린더: 마이페이지 통합 캘린더로 일정 한눈에 확인
  • 마감 임박 알림: 마이페이지 접속 시 D-3 이하 체험단 강조 표시
  • 페이지네이션: 50개씩 로드, 더 보기로 추가 데이터 로드
  • 사용자 친화적 UI: 대시보드, 캘린더 뷰, 깔끔한 인터페이스

🛠️ 기술 스택

  • Frontend: Next.js 14 (App Router) + Tailwind CSS + TypeScript
  • Backend/DB: Supabase (Auth, PostgreSQL, Edge Functions)
  • Crawler: Python (BeautifulSoup) + GitHub Actions
  • Calendar: Google Calendar API
  • Payment: 토스페이먼츠
  • Email: Resend
  • Deployment: Vercel

📁 폴더 구조

/app
  /api              # API Routes
  /(auth)           # 로그인 관련 페이지
  /(main)           # 메인 서비스 페이지
/components
  /ui               # 공통 UI 컴포넌트
  /features         # 기능별 컴포넌트
/lib
  /supabase.ts      # Supabase 클라이언트
  /utils.ts         # 유틸 함수
/types
  /database.ts      # Supabase 타입
/docs               # 기획 문서
/crawler            # Python 크롤러 (별도 개발 예정)

🚀 시작하기

1. 환경 변수 설정

env.example 파일을 참고하여 .env.local 파일을 생성하고 필요한 환경 변수를 설정하세요.

cp env.example .env.local

필수 환경 변수:

  • NEXT_PUBLIC_SUPABASE_URL: Supabase 프로젝트 URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY: Supabase 익명 키

2. 의존성 설치

npm install

3. 개발 서버 실행

npm run dev

http://localhost:3000 에서 확인할 수 있습니다.

📚 참고 문서

📝 주요 명령어

npm run dev          # 개발 서버
npm run build        # 프로덕션 빌드
npm run start        # 프로덕션 서버
npm run lint         # ESLint

🎯 개발 로드맵

  • Phase 1: 프로젝트 셋업 ✅
  • Phase 2: 크롤러 개발 ✅
  • Phase 3: 인증/회원 시스템 ✅ (구글/네이버 OAuth 완료)
  • Phase 4: 검색 기능 ✅
    • 자연어 검색: "강남 이번주 맛집" 같은 자연어로 검색 가능
    • 제목 검색: 게시물 제목으로도 검색 가능
    • 자주 찾는 태그: 검색 기록 기반 태그 표시
  • Phase 5: 신청/당첨 관리 ✅
    • 북마크 기능: 체험단 북마크 및 관리
    • 북마크 → 선정 처리 시 자동 리뷰 마감일 계산
    • 내 신청 목록 페이지 (상태별 필터)
    • 내 당첨 목록 페이지 (방문일/리뷰 마감일 입력)
    • 상태 변경: 북마크 → 신청중 → 당첨 → 완료
    • 리뷰 기간 정보: 크롤링하여 자동 표시 (선정일 기준 n일 이내)
  • Phase 6: 캘린더 & 알림 기능 ✅
    • 구글 캘린더 OAuth 연동
    • 당첨 시 자동 캘린더 일정 등록
    • 방문일/리뷰 마감일 캘린더 동기화
    • 마이페이지 캘린더 연동 UX (배너 + 전용 카드)
    • 마감 임박 알림 (마이페이지 배너, D-3 이하)
    • 일정 캘린더 뷰 (마이페이지 통합 캘린더)
  • Phase 6.5: 메시징 & UI 정리 ✅
    • 비즈니스 모델 변경 반영
    • 서비스 소개 페이지 재구성
    • "무료" 강조 최소화
    • 자연스러운 서비스 메시징
  • Phase 6.6: OAuth 설정 & UI 통합 ✅
    • 구글 OAuth 설정 완료 (로그인 + 캘린더)
    • 네이버 OAuth 설정 완료 (로그인, 세션 공유로 원본 사이트 원클릭 신청!)
    • 체험단 관리 페이지 통합 (/my/campaigns)
    • 리스트 뷰 / 캘린더 뷰 전환
    • 방문 예정일 입력 기능
    • 선정일 기준 리뷰 마감일 계산
  • Phase 7: 테스트 & QA - 다음 단계
  • Phase 8: 배포 & 런칭
  • Phase 9: 확장 기능 (선택) - 기획 완료
    • 사이트별 스페셜 체험단 (메인페이지)
    • AI 추천 체험단 (행동 패턴 분석)

💰 비즈니스 모델

Phase 1 (현재): 성장 집중

  • 가격: 완전 무료 (모든 기능)
  • 목표: MAU 5,000명
  • 기간: 0~6개월

Phase 2 (6개월 후): 광고 도입

  • 가격: 무료 (최소한의 광고)
  • 목표: MAU 10,000명
  • 수익: 월 60~100만원

Phase 3 (12개월 후): B2B 플랫폼

  • 가격: 무료 유지
  • 목표: MAU 30,000명
  • 수익: 월 300~600만원 (중개 수수료)

📄 라이선스

이 프로젝트는 개인 프로젝트입니다.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors