An open API service indexing awesome lists of open source software.

https://github.com/maantano/maantano-ticker

Real-time Korean Stock Market Ticker for macOS Menu Bar with Extended Hours Trading Support πŸ‡°πŸ‡·πŸ“ˆ
https://github.com/maantano/maantano-ticker

electron finance homebrew korean-stock macos menubar-app naver-finance real-time stock-market stock-ticker ticker trading

Last synced: 8 months ago
JSON representation

Real-time Korean Stock Market Ticker for macOS Menu Bar with Extended Hours Trading Support πŸ‡°πŸ‡·πŸ“ˆ

Awesome Lists containing this project

README

          

# Maantano Ticker

**macOS λ©”λ‰΄λ°”μ—μ„œ ν•œκ΅­ 및 λ―Έκ΅­ 주식 μ‹€μ‹œκ°„ μ‹œμ„Έλ₯Ό ν™•μΈν•˜λŠ” μ•±**

![Version](https://img.shields.io/badge/version-1.4.0-blue)
![Platform](https://img.shields.io/badge/platform-macOS-lightgrey)
![License](https://img.shields.io/badge/license-MIT-green)
[![Homebrew](https://img.shields.io/badge/homebrew-available-orange)](https://github.com/maantano/homebrew-maantano)

## πŸ“± μ†Œκ°œ

Maantano TickerλŠ” macOS 메뉴바에 μ‹€μ‹œκ°„ 주식 μ‹œμ„Έλ₯Ό ν‘œμ‹œν•˜λŠ” κ²½λŸ‰ λ°μŠ€ν¬ν†± μ•±μž…λ‹ˆλ‹€. ν•œκ΅­(넀이버 증ꢌ API) 및 λ―Έκ΅­(Yahoo Finance API) 주식을 λͺ¨λ‘ μ§€μ›ν•˜λ©°, κΉ”λ”ν•œ UI와 νŽΈλ¦¬ν•œ κΈ°λŠ₯으둜 주식 νˆ¬μžμžλ“€μ˜ λͺ¨λ‹ˆν„°λ§μ„ λ•μŠ΅λ‹ˆλ‹€.

> **⚠️ 주의**: 메뉴바에 μœ„μ ―μ΄ λ„ˆλ¬΄ λ§Žκ±°λ‚˜, ν…μŠ€νŠΈ 크기가 메뉴바보닀 클 경우 정보가 μž˜λ €μ„œ 보이지 μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 경우 μ„€μ •μ—μ„œ ν…μŠ€νŠΈ 크기λ₯Ό μ€„μ΄κ±°λ‚˜ λ‹€λ₯Έ 메뉴바 μœ„μ ―μ„ μ œκ±°ν•΄μ£Όμ„Έμš”.

## 🎬 데λͺ¨

![Maantano Ticker Demo](./assets/demo.gif)

### κΈ°λŠ₯

- 🌏 **닀쀑 μ‹œμž₯ 지원**: ν•œκ΅­ 주식(KOSPI/KOSDAQ) 및 λ―Έκ΅­ 주식(NASDAQ/NYSE/AMEX) λ™μ‹œ 지원
- πŸ“Š **μ‹€μ‹œκ°„ μ‹œμ„Έ 쑰회**: 넀이버 증ꢌ + Yahoo Finance APIλ₯Ό ν†΅ν•œ μ‹€μ‹œκ°„ μ£Όκ°€ 데이터
- πŸ–₯️ **메뉴바 톡합**: macOS 메뉴바에 첫 번째 μ’…λͺ©μ˜ ν˜„μž¬κ°€, 등락λ₯  ν‘œμ‹œ
- 🎨 **색상 μ»€μŠ€ν„°λ§ˆμ΄μ§•**: 메뉴바 ν…μŠ€νŠΈ 색상을 10κ°€μ§€ 컬러둜 λ³€κ²½ κ°€λŠ₯
- πŸ“ **ν…μŠ€νŠΈ 크기 쑰절**: Tiny, Small, Medium, Large 4κ°€μ§€ 크기 μ˜΅μ…˜
- πŸ“ˆ **닀쀑 μ’…λͺ© 관리**: μ—¬λŸ¬ μ’…λͺ©μ„ λ™μ‹œμ— 좔적 및 관리
- πŸ” **슀마트 검색**: μ’…λͺ©λͺ…/μ½”λ“œ μžλ™μ™„μ„± 검색
- ν•œκ΅­: μ½”μŠ€ν”Ό/μ½”μŠ€λ‹₯ 4,000+ μ’…λͺ©
- λ―Έκ΅­: μ£Όμš” 100+ μ’…λͺ© (AAPL, MSFT, TSLA λ“±)
- ⏱️ **μžλ™ μ—…λ°μ΄νŠΈ**: 5초 간격 μžλ™ μ‹œμ„Έ κ°±μ‹ 
- πŸ• **거래 μ‹œκ°„ 지원**:
- ν•œκ΅­: μ •κ·œμž₯ 09:00-15:30, μ‹œκ°„μ™Έ 단일가 08:30-09:00, μ‹œκ°„μ™Έ μ’…κ°€ 15:40-18:00
- λ―Έκ΅­: μ •κ·œμž₯ 09:30-16:00 (EST/EDT)

## πŸš€ μ‹œμž‘ν•˜κΈ°

### μš”κ΅¬μ‚¬ν•­

- macOS 10.14 (Mojave) 이상
- Node.js 20.x 이상

### λ‹€μš΄λ‘œλ“œ 및 μ„€μΉ˜

#### Homebrew둜 μ„€μΉ˜ (ꢌμž₯)

**κ°€μž₯ κ°„νŽΈν•œ λ°©λ²•μž…λ‹ˆλ‹€.** Gatekeeper κ²½κ³  없이 λ°”λ‘œ μ‹€ν–‰λ©λ‹ˆλ‹€.

```bash
# μ„€μΉ˜
brew install --cask --no-quarantine maantano/maantano/maantano-ticker

# μ—…κ·Έλ ˆμ΄λ“œ
brew upgrade --cask maantano-ticker

# μ‚­μ œ
brew uninstall --cask maantano-ticker
```

#### μ†ŒμŠ€μ—μ„œ λΉŒλ“œ

```bash
# μ €μž₯μ†Œ 클둠
git clone https://github.com/YOUR_USERNAME/maantano-ticker.git
cd maantano-ticker

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# 개발 λͺ¨λ“œλ‘œ μ‹€ν–‰
npm run dev

# ν”„λ‘œλ•μ…˜ λΉŒλ“œ
npm run build
```

λΉŒλ“œλœ 앱은 `dist/` 폴더에 μƒμ„±λ©λ‹ˆλ‹€.

## πŸ“– μ‚¬μš©λ²•

### 첫 μ‹€ν–‰

1. 앱을 μ‹€ν–‰ν•˜λ©΄ 메뉴바에 차트 μ•„μ΄μ½˜μ΄ ν‘œμ‹œλ©λ‹ˆλ‹€
2. μ•„μ΄μ½˜μ„ ν΄λ¦­ν•˜μ—¬ 메인 창을 μ—½λ‹ˆλ‹€
3. ν™˜μ˜ λ©”μ‹œμ§€λ₯Ό ν™•μΈν•˜κ³  "확인" λ²„νŠΌμ„ ν΄λ¦­ν•©λ‹ˆλ‹€

### μ’…λͺ© μΆ”κ°€

1. 메인 μ°½μ—μ„œ **"+ μ’…λͺ© μΆ”κ°€"** λ²„νŠΌ 클릭
2. 검색창에 μ’…λͺ©λͺ… λ˜λŠ” μ½”λ“œ μž…λ ₯ (예: "μ‚Όμ„±μ „μž", "005930")
3. μžλ™μ™„μ„± λͺ©λ‘μ—μ„œ μ›ν•˜λŠ” μ’…λͺ© 선택
4. μ’…λͺ©μ΄ λ¦¬μŠ€νŠΈμ— 좔가됨

### μ’…λͺ© 관리

- **μˆœμ„œ λ³€κ²½**: μ’…λͺ©μ„ λ“œλž˜κ·Έ μ•€ λ“œλ‘­μœΌλ‘œ 이동
- **μ’…λͺ© μ‚­μ œ**: 각 μ’…λͺ© 우츑의 "μ‚­μ œ" λ²„νŠΌ 클릭
- **μˆ˜λ™ μ—…λ°μ΄νŠΈ**: ν•˜λ‹¨μ˜ μƒˆλ‘œκ³ μΉ¨ λ²„νŠΌ 클릭

### 메뉴바 색상 λ³€κ²½

1. ν•˜λ‹¨μ˜ μ„€μ •(βš™οΈ) λ²„νŠΌ 클릭
2. "ν…μŠ€νŠΈ 색상" μ„Ήμ…˜μ—μ„œ μ›ν•˜λŠ” 색상 선택
3. 메뉴바 ν…μŠ€νŠΈ 색상이 μ¦‰μ‹œ 변경됨

### 기술 μŠ€νƒ

**ν”„λ‘ νŠΈμ—”λ“œ**

- Electron 28.x - λ°μŠ€ν¬ν†± μ•± ν”„λ ˆμž„μ›Œν¬
- Vanilla JavaScript - UI 둜직
- CSS3 - μŠ€νƒ€μΌλ§

**λ°±μ—”λ“œ**

- Node.js - λŸ°νƒ€μž„
- axios - HTTP μš”μ²­
- cheerio - HTML νŒŒμ‹± (μ›Ή μŠ€ν¬λž˜ν•‘)
- canvas - 메뉴바 μ•„μ΄μ½˜ λ Œλ”λ§
- electron-store - 둜컬 데이터 μ €μž₯

**개발 도ꡬ**

- electron-builder - μ•± λΉŒλ“œ 및 νŒ¨ν‚€μ§•
- standard-version - μžλ™ 버전 관리
- GitHub Actions - CI/CD μžλ™ν™”

## πŸ“ 버전 관리 및 배포

이 ν”„λ‘œμ νŠΈλŠ” [Semantic Versioning](https://semver.org/)κ³Ό [Conventional Commits](https://www.conventionalcommits.org/)λ₯Ό λ”°λ¦…λ‹ˆλ‹€.

μžμ„Έν•œ 릴리슀 ν”„λ‘œμ„ΈμŠ€λŠ” [RELEASE.md](./RELEASE.md)λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

## ⚠️ λ©΄μ±… μ‘°ν•­ 및 μ£Όμ˜μ‚¬ν•­

### 데이터 μ •ν™•μ„±

- μ œκ³΅λ˜λŠ” 주식 μ‹œμ„Έ λ°μ΄ν„°μ˜ 정확성을 보μž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€
- 이 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ ν•œ 투자 결정에 λŒ€ν•œ μ±…μž„μ€ μ „μ μœΌλ‘œ μ‚¬μš©μžμ—κ²Œ μžˆμŠ΅λ‹ˆλ‹€
- **투자 손싀에 λŒ€ν•΄ κ°œλ°œμžλŠ” μ–΄λ– ν•œ μ±…μž„λ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€**

### μ‚¬μš© μ œν•œ

- κ³Όλ„ν•œ API μš”μ²­μœΌλ‘œ μΈν•œ IP 차단 κ°€λŠ₯성이 μžˆμŠ΅λ‹ˆλ‹€
- 개인적인 μš©λ„λ‘œλ§Œ μ‚¬μš©ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€
- 상업적 μ‚¬μš© λ˜λŠ” λŒ€λŸ‰ 배포 μ‹œ 넀이버 μΈ‘μ—μ„œ 법적 쑰치λ₯Ό μ·¨ν•  수 μžˆμŠ΅λ‹ˆλ‹€
- 넀이버 금육의 robots.txt 및 μ΄μš©μ•½κ΄€μ„ μ€€μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€

**이 앱을 λ‹€μš΄λ‘œλ“œν•˜κ±°λ‚˜ μ‚¬μš©ν•¨μœΌλ‘œμ¨, μœ„μ˜ λͺ¨λ“  쑰항에 λ™μ˜ν•˜λŠ” κ²ƒμœΌλ‘œ κ°„μ£Όλ©λ‹ˆλ‹€.**

## πŸ“„ λΌμ΄μ„ μŠ€

이 ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€ ν•˜μ— λ°°ν¬λ©λ‹ˆλ‹€. μžμ„Έν•œ λ‚΄μš©μ€ [LICENSE](./LICENSE) νŒŒμΌμ„ μ°Έμ‘°ν•˜μ„Έμš”.

**단, 넀이버 금육 λ°μ΄ν„°μ˜ μ €μž‘κΆŒμ€ 넀이버에 있으며, 이 λΌμ΄μ„ μŠ€λŠ” ν•΄λ‹Ή 데이터에 μ μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.**

## πŸ™ Credits

- 차트 μ•„μ΄μ½˜: [Freepik - Flaticon](https://www.flaticon.com/kr/free-icons/)
- λ’€λ‘œ ν™”μ‚΄ν‘œ μ•„μ΄μ½˜: [Andrean Prabowo - Flaticon](https://www.flaticon.com/kr/free-icons/-)
- 주식 데이터: 넀이버 금육

## πŸ’¬ 문의 및 지원

- 버그 리포트: [Issues](../../issues)
- κΈ°λŠ₯ μš”μ²­: [Issues](../../issues)
- 문의: contact@maantano-ticker.com

---

**Maantano Ticker**둜 더 μŠ€λ§ˆνŠΈν•œ 투자 λͺ¨λ‹ˆν„°λ§μ„ κ²½ν—˜ν•˜μ„Έμš”!

⭐ 이 ν”„λ‘œμ νŠΈκ°€ 도움이 λ˜μ…¨λ‹€λ©΄ Starλ₯Ό λˆŒλŸ¬μ£Όμ„Έμš”!