한 줄 정의
MYFIX 는 무엇인가
하나의 React 웹 UI 를 Web(PWA) · Electron(PC) · Capacitor(iOS/Android) 에서 공유하고, 국내 주식 종목의 시세·지표·상태 변화와 시황 리포트를 멀티채널 알림으로 전달하는 서비스.
✕주문 실행✕투자 일임✕수익 보장 표현✕실시간 채팅·커뮤니티
무엇이 다른가
세 가지를 지키고 만듭니다
한 번 설정하면 네 곳에서 같다
계정 · 관심종목 · 읽음 상태가 Web · PC · iOS · Android 에서 같습니다. 화면을 각 플랫폼마다 따로 만들지 않고 하나의 웹 UI 를 세 가지 셸에 태웁니다.
조건은 이용자가 만들고 멈춘다
가격 · 등락률 · EMA · Envelope 로 알림 조건을 직접 만들고 직접 멈춥니다. 같은 이벤트가 반복되면 쿨다운과 중복 제거로 한 번만 보냅니다.
화면은 엔진이 하는 것만 판정으로 말한다
판정은 서버 엔진이 실제로 낸 출력에만 씁니다. 화면이 계산한 값은 [참고] 로 분류하고 등급을 올리지 않습니다. 이 구분을 배포 가드가 강제합니다.
채널
하나의 화면, 네 곳의 자리
같은 계정과 관심종목, 같은 읽음 상태를 네 곳에서 씁니다. 각 셸은 그 환경에서만 할 수 있는 일을 더합니다.
| 채널 | 제공 방식 | 그곳에서 하는 일 |
|---|---|---|
| Web | 반응형 PWA | 탐색, 리포트 열람, 설정, 브라우저 알림 |
| Desktop | Electron | 다중 종목 모니터링, 시스템 트레이, 데스크톱 알림 |
| iOS / Android | Capacitor | 푸시 확인, 빠른 상태 변경, 리포트 열람 |
알림
앱이 꺼져 있을 때도 옵니다
플랫폼마다 알림이 오는 길이 다릅니다. 보이는 모양은 하나로 같게 두고, 오는 길만 환경에 맞춥니다.
| 플랫폼 | 앱이 꺼져 있을 때 | 앱이 떠 있을 때 |
|---|---|---|
| iOS · Android | FCM 푸시 | FCM → 인앱 팝업 |
| 브라우저 웹 | FCM 웹푸시 (서비스 워커) | 서비스 워커가 처리 |
| Electron | 없음 — 웹푸시를 받지 못합니다 | Socket.IO → 인앱 팝업 |
기술
만든 재료
Frontend
- React 19
- Vite
- Tailwind CSS 4
- Socket.IO Client
API
- NestJS 11
- Prisma
- PostgreSQL
- Redis
- Socket.IO
Worker
- KIS WebSocket
- BullMQ
- ioredis
Desktop
- Electron
Mobile
- Capacitor 7 (iOS / Android)
Monorepo
- pnpm workspace
- Turborepo