프로젝트 소개

Spenddy는 Swiggy 음식 배달 주문 데이터를 브라우저 내에서 풍부하고 상호작용 가능한 분석 대시보드로 변환합니다. ## 기능 개요 Swiggy 주문 내역을 가져온 후 Spenddy는 지출 추이, 레스토랑 선호도, 요리 종류별 분류, 인터랙티브 맵상의 지리적 패턴, 그리고 GitHub 스타일의 주문 히트맵을 표시합니다. 모든 차트와 지표는 로컬에서 렌더링되며 어떠한 데이터도 외부로 전송되지 않습니다. ## 데이터 가져오기 권장 경로는 **Spenddy Link** Chrome 확장자입니다. 이 확장자는 귀하의 Swiggy 계정에 접속하여 주문 데이터를 자동으로 브라우저에 저장합니다. 대안으로, Swiggy에서 데이터 내보내기를 다운로드한 후 `allOrders.json`을 추출해 Spenddy에 드롭할 수도 있습니다. ## 주요 대시보드 - **Overview** — 총 주문 수, 지출 요약, 핵심 통계 - **Spending Analysis** — 월간/연간 추이, 수수료 및 할인 내역, 평균 주문 금액 - **Restaurant Analytics** — 주문 횟수 및 지출 기준 상위 레스토랑, 요리 선호도, 위치 기반 인사이트 - **Location Insights** — 실제 배달 및 레스토랑 좌표를 보여주는 Leaflet 지도 - **Order Activity** — 피크 주문 일, 시간, 빈도를 보여주는 연간 히트맵 ## 개인정보 보호 및 아키텍처 Spenddy는 100% 클라이언트 사이드 애플리케이션입니다. 데이터 처리를 위한 외부 서버로의 네트워크 요청을 수행하지 않으며 개인 정보를 전혀 수집하지 않습니다. 이 앱은 교체 가능한 다중 소스 아키텍처(`BaseSource` / `AbstractSource` 패턴)를 사용하므로 새 제공업체(Zomato 등) 추가는 소스 인터페이스 구현만으로 가능합니다. 메모리는 지연 로드와 자동 정리로 관리됩니다: 소스는 첫 방문 시 로드되며 약 10분의 비활성 시간 또는 탐색 후 30초 후 언로드됩니다. ## 기술 스택 React 18 · TypeScript · Vite · Tailwind CSS · Chart.js & Recharts · Leaflet · Framer Motion · Lucide React · date-fns ## 배포 내장 액션을 통한 GitHub Pages 배포가 권장 경로이나, `pnpm build` 출력물은 어떤 정적 호스팅에서도 작동합니다. ## 라이선스 MIT. 풀 리퀘스트를 통한 기여 환영합니다.