Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
가전무쌍 - 가전제품 시장 분석 플랫폼
Translation pending
DataPython · JavaScriptGitHub @ZestoperOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
가전제품 B2B 유통사를 위한 AI 기반 시장 분석 플랫폼입니다. 네이버 DataLab 검색 트렌드 + 공공데이터를 결합해 수요 예측, 매입 타이밍 신호, AI 전략 리포트를 제공합니다. Render 무료 플랜은 15분 비활동 시 서버가 슬립되며, 첫 요청 시 30~50초 대기가 발생할 수 있습니다. backend/Dockerfile을 기준으로 Render 등 컨테이너 기반 플랫폼에 배포합니다. Render에서 새 Web Service 생성 시 Root Directory를 backend로, Runtime을 Docker로 지정하면 backend/Dockerfile이 자동으로 사용됩니다. .env에 정의된 환경 변수는 Render 대시보드의 Environment 설정에 동일하게 등록해야 합니다. frontend/vercel.json의 SPA 라우팅 설정을 사용하며, 빌드된 백엔드 URL을 VITE_API_BASE 환경 변수로 주입합니다.Read the full README ↗
제품을 검색해 고르면 검색량 · 가격 · 리뷰 · 공공데이터를 모아 수요 예측과 매입 판단(매입 추천 · 관망)을 한 화면에 보여줍니다.
https://github.com/user-attachments/assets/dbc6fe18-7f63-40eb-988b-6548a2e3a6cf
서비스: https://appliance-trend-insight.vercel.app
백엔드는 Render 무료 플랜이라 처음 접속 시 서버가 깨어나는 데 최대 1분 정도 걸립니다.
| 구분 | URL | 플랫폼 |
|---|---|---|
| 서비스 (Frontend) | https://appliance-trend-insight.vercel.app | Vercel |
| Backend | FastAPI (Python 런타임) | Render |
| DB | PostgreSQL + pgvector | Neon |
Render Web Service · Python 런타임 · Root Directory backend · 시작 명령 uvicorn app.main:app --host 0.0.0.0 --port $PORT.
.env에 정의된 환경 변수는 Render 대시보드의 Environment에 동일하게 등록합니다.
무료 인스턴스(512MB)라 시작할 때 mallopt로 메모리 영역 수를 제한하고 무거운 요청은 동시에 2개까지만 처리합니다.
frontend/vercel.json의 SPA 라우팅 설정을 사용하며, 빌드된 백엔드 URL을 VITE_API_BASE 환경 변수로 주입합니다.
# frontend/.env.production
VITE_API_BASE=https://your-backend-name.onrender.com
/b2b)제품명을 검색해 목록에서 정확한 상품 하나를 고르면 아래 카드를 한 화면에 보여줍니다.
| 카드 | 내용 | 데이터 |
|---|---|---|
| AI 종합 리포트 | 가격 · 수요 · 리뷰를 종합한 매입 판단(매입 추천 · 관망 권장 · 매입 추천하지 않음) | Groq gpt-oss-120b → Cerebras 폴백 |
| 검색량 추이 · 예측 | 주별 검색량과 22주 예측 · 신뢰구간 | 네이버 DataLab 4년치 |
| 날씨와 검색량 | 기온 · 습도 · 초미세먼지와 검색량을 겹쳐 그리고 상관계수와 "기온 1°C 오를 때 검색량 몇 %"를 설명 | 기상청 ASOS · 에어코리아 |
| 안전사고 접수 TOP 3 | 품목별로 많이 접수된 사고 원인 · 증상 | 한국소비자원 위해정보 |
| 가격 변동 · 적정성 | 실제 가격 이력과 역대 평균 대비 현재가 (튀는 가격은 자동 제외) | 다나와 이력 + 매일 자체 수집 |
| 경쟁 제품 비교 | 비슷한 가격대 다른 브랜드 제품과 장단점 비교 | 네이버 쇼핑 · 리뷰 |
| 리뷰 감성 분석 | 블로그 · 카페 후기 긍정 · 부정 요약 | 네이버 검색 |
상품 목록에는 에너지 효율 등급과 한 달 전기료(에너지공단 월간 소비전력량 × 한전 주택용 요금)를 함께 보여줍니다.
/api/b2b/backtest-weather)도 있습니다에어컨 · 냉장고 · 세탁기 · 건조기 · TV · 선풍기 · 공기청정기 · 제습기 · 가습기 · 로봇청소기 · 식기세척기 · 에어프라이어 · 전기밥솥
| 영역 | 기술 |
|---|---|
| Frontend | React 18, Vite, React Router |
| Backend | FastAPI, Python 3.11 |
| DB / 캐시 | PostgreSQL + pgvector (Neon) |
| AI / LLM | Groq (openai/gpt-oss-120b → openai/gpt-oss-20b), Cerebras (gpt-oss-120b) |
| 임베딩 | HuggingFace Inference API (sentence-transformers/all-MiniLM-L6-v2, 384차원) |
| 예측 모델 | Holt-Winters · 계절 반영형 등 후보 중 품목별 백테스트로 선택 (순수 파이썬) |
| 외부 데이터 | 네이버 DataLab · 쇼핑 · 검색, 다나와, 기상청 ASOS, 에어코리아, 한국소비자원, 에너지공단 KEMCO |
| 배포 · 자동화 | Render (Backend), Vercel (Frontend), GitHub Actions (매일 새벽 수집) |
├── .github/workflows/daily-collect.yml # 매일 03:23 KST 서버를 깨우고 수집이 끝날 때까지 유지
├── backend/
│ ├── app/
│ │ ├── routers/
│ │ │ ├── b2b_search_analysis.py # B2B 제품 시장 분석 · 모델 자동 선택 · 관리자 백테스트
│ │ │ ├── b2b_price.py / b2b_product.py # 가격 모니터링 · 리포트 내보내기
│ │ │ ├── analysis.py / insights.py / naver.py # B2C 분석 · 트렌드 · 상품 검색
│ │ │ ├── admin.py / auth.py / user.py / payments.py
│ │ ├── services/
│ │ │ ├── forecast_models.py # 예측 후보 모델 · 백테스트 · 날씨 백테스트
│ │ │ ├── public_data.py # 공공데이터 수집 + 하루 1회 갱신
│ │ │ ├── public_insights.py # 날씨 상관 · 안전사고 TOP 3 · 월 전기료 계산
│ │ │ ├── price_service.py # 매일 가격 수집 (메모리 300MB 넘으면 중단)
│ │ │ ├── danawa_search.py / tracking.py / naver_cache.py
│ │ ├── rag_service.py # pgvector RAG
│ │ └── main.py
│ └── scripts/
│ ├── refresh_ext_data.py # 공공데이터 수동 수집 (선택)
│ └── seed_rag_local.py # RAG 문서 로컬 시딩
└── frontend/src/pages/
├── B2BAnalysis.jsx # B2B 제품 시장 분석
├── B2BHome.jsx / B2BPricing.jsx
├── Home.jsx / ProductList.jsx / Compare.jsx / Recommend.jsx / Timing.jsx / Trend.jsx / ProductReport.jsx / Chat.jsx
└── Admin.jsx / MyPage.jsx / Login.jsx …
# 네이버 API
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
# YouTube
YOUTUBE_API_KEY=
# LLM
GROQ_API_KEY=
CEREBRAS_API_KEY=
# PostgreSQL (Neon)
DB_HOST=
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=
DB_NAME=postgres
DATABASE_URL=
# 공공데이터 (data.go.kr 통합 키)
# 필요 서비스: 기상청 ASOS / 에어코리아 / 에너지공단 효율등급 / 소비자원 위해정보
PUBLIC_DATA_API_KEY=
# 통계청 KOSIS (kosis.kr)
KOSIS_API_KEY=
# HuggingFace (RAG 임베딩 — sentence-transformers/all-MiniLM-L6-v2)
HUGGINGFACE_API_KEY=
# RAG 활성화 여부
ENABLE_RAG=true
# JWT
JWT_SECRET=
# 이메일 (Gmail SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
cd frontend
npm install
npm run dev
데이터 수집: 별도 스크립트 없이 서버가 매일 자동으로 수집합니다. 수집 대상 · 기간 · 주기는 아래 데이터 수집을 참고하세요.
| 데이터 | 출처 | 수집 기간 | 쓰이는 곳 |
|---|---|---|---|
| 검색량 추이 (주간) | 네이버 데이터랩 검색어 트렌드 | 최근 4년 (주 단위 · 52주 계절성 학습) | B2B 수요 예측 — Holt-Winters로 22주 예측 |
| 쇼핑 클릭 추이 (월간) | 네이버 데이터랩 쇼핑인사이트 | 최근 730일 (월 단위) | B2B 판매 예측 — Holt-Winters로 8개월 예측 |
| 검색량 추이 (일간) | 네이버 데이터랩 검색어 트렌드 | 최근 30일 (일 단위) | 트렌드 TOP10 · 제품 리포트 · 구매 타이밍 관심도 |
| 제품 가격 이력 | 다나와 가격 이력 + 매일 자체 수집 | 다나와 최대 24개월 / 화면은 최근 30일 | 구매 타이밍 · 출시가 대비 할인율 |
| 카테고리 가격 통계 | 다나와 검색 (매일 자체 수집) | 수집 시작일부터 누적 | B2B 시장 분석 · 매입 적기 알림 |
| 기온 · 습도 | 기상청 ASOS | 최근 730일 | 날씨와 검색량 카드 (에어컨 · 선풍기 · 제습기 · 가습기) |
| 미세먼지 PM2.5 · PM10 | 에어코리아 | 최근 90일 | 미세먼지와 검색량 카드 (공기청정기) |
| 소비자물가지수 | 통계청 KOSIS | 최근 24개월 | 수집만 (화면에는 아직 안 씀) |
| 위해 피해 접수 | 한국소비자원 | 최근 최대 3,000건을 품목 12개로 나눔 | 안전사고 접수 TOP 3 |
| 에너지효율 등급 | 한국에너지공단 | 카테고리 7개 모델별 등급 · 월간 소비전력량 | 효율 등급 · 한 달 전기료 |
| 주기 | 무엇을 | 방식 |
|---|---|---|
| 매일 1회 (새벽 3:23 KST) | 카테고리 24개 가격 통계 + 관련도 상위 5개 + 출시가 가장 최근인 3개 가격 / 추적 제품(최근 7일 안에 조회됐거나 최신 제품 · 최대 150개) 가격 / 데이터랩 일간 검색량 / 매입 적기 알림 메일 | GitHub Actions가 서버를 깨우고 수집이 끝날 때까지 유지 (.github/workflows/daily-collect.yml) |
| 매일 1회 (가격 수집 2분 뒤) | 기상청 · 에어코리아 · KOSIS · 소비자원 · 에너지공단 | 서버 백그라운드 작업 |
| 볼 때마다 | 제품 목록 · 검색 · 비교 (다나와 실시간, 같은 검색어 30분 캐시) / 트렌드 TOP10 (30분 캐시) / 구매 타이밍 현재가 / 제품 리포트 · B2B 분석의 뉴스 · 유튜브 · 리뷰 | 요청 시 수집 |
backend/app/services/public_insights.py
| 품목 | 비교 변수 |
|---|---|
| 에어컨 · 선풍기 | 기온 |
| 제습기 · 가습기 | 습도 |
| 공기청정기 | 초미세먼지(PM2.5) |
| 테이블 | 용도 |
|---|---|
rag_documents | 소비자 후기·뉴스 임베딩 벡터 저장 (pgvector) |
naver_cache | 네이버 DataLab·공공데이터·AI리포트 캐시 (JSONB) |
backend/app/rag_service.py
네이버 뉴스·블로그 수집
↓
HuggingFace API (sentence-transformers/all-MiniLM-L6-v2) 로 텍스트 임베딩 (384차원)
↓
rag_documents 테이블에 pgvector 형식으로 저장
↓
AI 리포트·수요예측 생성 시 코사인 유사도 검색 (<=> 연산자)
↓
상위 N개 청크를 LLM 프롬프트 컨텍스트로 주입
| 캐시 키 패턴 | 내용 | TTL |
|---|---|---|
ext:kma:history | 기상청 기온·습도 2년치 | 30시간 |
ext:airkorea:history | 에어코리아 PM2.5·PM10 | 30시간 |
ext:kosis:cpi | 통계청 소비자물가지수 24개월치 | 30일 |
ext:kca:{category} | 소비자원 위해 접수 (원인 · 증상) | 7일 |
ext:kemco:{category} | 에너지공단 1등급 비율 | 30일 |
kemco_model_grades:v2:{category} | 모델별 등급 · 월간 소비전력량 | 7일 |
forecast_model_choice:v1 | 품목별 백테스트로 고른 예측 모델 | 8일 |
| 데이터 | 제공기관 | 신청처 |
|---|---|---|
| 기온·습도 (ASOS 일자료) | 기상청 | data.go.kr |
| PM2.5·PM10 (실시간) | 한국환경공단 에어코리아 | data.go.kr |
| 소비자 피해 접수 | 한국소비자원 | data.go.kr |
| 에너지소비효율 등급 | 한국에너지공단 KEMCO | data.go.kr |
| 소비자물가지수 (2020=100) | 통계청 | kosis.kr |