https://github.com/hunkim/8percent
https://github.com/hunkim/8percent
Last synced: 4 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/hunkim/8percent
- Owner: hunkim
- Created: 2026-05-14T01:53:42.000Z (29 days ago)
- Default Branch: main
- Last Pushed: 2026-05-14T20:43:27.000Z (29 days ago)
- Last Synced: 2026-05-14T22:32:29.382Z (29 days ago)
- Language: TypeScript
- Homepage: https://8percent-six.vercel.app
- Size: 52.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 8percent
미국 Top 200 / 한국 Top 200 종목의 **1년 (8%) · 3개월 (3%) · 1개월 (1%)** 수익률
기준선 통과 여부를 한눈에 보여주는 대시보드.
- 기준 이상 → **매수** (emerald 강조)
- 기준 미만 → **매도** (회색 흐림)
- 종목명/티커 검색, 시장(미국/한국) 필터, 매수 신호만 보기 토글
- 모바일 / 데스크탑 반응형
- 데이터: [Yahoo Finance](https://finance.yahoo.com) — 무료 (API 키 불필요)
- 24시간 캐시
> ⚠️ 본 사이트는 투자 권유나 자문이 아닙니다. 모든 매매 결정과 그 결과에 대한
> 책임은 전적으로 본인에게 있습니다.
## 로컬 실행
```bash
npm install
npm run dev
```
[http://localhost:3000](http://localhost:3000) 접속. 첫 로드는 1~2분 걸립니다
(384개 종목 fetch).
## Vercel 배포
[](https://vercel.com/new/clone?repository-url=https://github.com/hunkim/8percent)
1. 이 저장소를 Vercel에 import
2. 환경변수 없음 — 그대로 deploy
3. 첫 요청 시 18~30초 소요 (콜드 스타트 + Yahoo fetch), 이후 24시간 동안은
Vercel data cache가 응답
### Vercel 설정 노트
- `maxDuration = 60` (Hobby tier 한도). Pro 이상은 더 늘려도 됩니다.
- `revalidate = 86400` — 24시간마다 자동 재검증
- 모든 ticker fetch는 동시성 12로 제한 (Yahoo rate limit 회피)
## 구조
```
src/
├── app/
│ ├── api/returns/route.ts # JSON API, 24h cache
│ └── page.tsx # 메인 UI
└── lib/
├── tickers.ts # 미국 + 한국 종목 리스트
└── returns.ts # Yahoo Finance fetch + 수익률 계산
```
기준선 / 종목을 수정하려면:
- `src/lib/tickers.ts` — 종목 추가/제거
- `src/app/page.tsx`의 `PERIOD_META` — 기간별 임계값 수정
## 기술 스택
- Next.js 16 (App Router)
- React 19
- Tailwind CSS v4
- yahoo-finance2 (무료, API 키 불필요)
## 라이선스
MIT