프로젝트 소개

Spenddy Link는 프라이버시를 존중하는 브라우저 확장 프로그램으로, Swiggy 주문 내역을 Spenddy 웹 애플리케이션으로 원활하게 전송하여 음식 지출을 분석합니다. ## 기능 확장 프로그램은 세 가지 핵심 기능을 수행합니다: 1. 사용자가 Swiggy에 로그인되었는지 감지하고 연결 상태를 확인합니다 2. 요청 시 전체 주문 내역을 가져옵니다 — 데이터는 사용자가 Spenddy를 방문하기 전까지 브라우저에 유지됩니다 3. 가져온 데이터를 Spenddy 웹 앱에 노출하여 원클릭 가져오기를 지원합니다 ## 설치 Chrome Web Store에서 이용 가능합니다. Firefox도 지원하며, WXT와 TypeScript로 구축되었습니다. ## 필요 조건 - Node.js ≥ 18 - pnpm ≥ 8 (또는 npm / yarn) - WXT CLI (선택사항; 개발 종속 항목으로 포함) ## 개발 `pnpm install`로 종속 항목을 설치한 후, Chromium/Chrome용은 `pnpm dev`, Firefox용은 `pnpm dev:firefox`를 실행합니다. 빌드 출력물은 각각 `.wxt/dist/` 또는 `.wxt/dist-firefox/`에 생성됩니다. 프로덕션 빌드: `pnpm build`(Chrome) 또는 `pnpm build:firefox`. Zip 패키지는 `pnpm zip` 또는 `pnpm zip:firefox`로 생성합니다. 로컬에서 로드하려면 `chrome://extensions`(또는 `edge://extensions`)에서 개발자 모드를 활성화하고 "압축 해제된 확장 프로그램을 로드"를 클릭하여 dist 디렉토리를 선택하세요. Firefox의 경우 `about:debugging#/runtime/this-firefox`를 사용하고 Firefox dist의 manifest.json을 로드합니다. ## 사용 방법 1. Swiggy를 열고 로그인합니다 2. Spenddy Link 확장 아이콘을 클릭하여 녹색 "Connected" 상태 확인 3. "Fetch Order Data" 버튼 클릭 — 진행 상황이 실시간으로 표시됩니다 4. "Go to Spenddy" 클릭하여 Spenddy 웹 앱으로 데이터 가져오기 ## 프로젝트 구조 - `entrypoints/background.ts` — 서비스 워커 백그라운드 스크립트 - `entrypoints/swiggy.content.ts` — Swiggy에 주입되는 콘텐츠 스크립트 - `entrypoints/spenddy.content.ts` — Spenddy에 주입되는 콘텐츠 스크립트 - `entrypoints/popup/` — 확장 팝업 UI - `components/` — 공유 TypeScript 유틸리티 - `wxt.config.ts` — WXT 구성 추가 문서에는 아키텍처 및 데이터 유형 참조가 포함되어 있습니다. 라이선스: MIT — © 2024 Spenddy.