MicroAI Paygate
AI 요청 결제 게이트웨이로 EIP-712 서명, 영수증 발행, 클라이언트 서명 검증 지원
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A modern stock analysis platform featuring interactive candlestick charts with put/call level indicators and 5-quadrant visualization for identifying trading opportunities.
This README gives an overview. CLAUDE.md is the maintained architecture guide (data sources, crons, gating), and docs/CHANGES.md records every change with what was and wasn't verified.
public.eod_usmkts_price tablegit clone <your-repo-url>
cd neon_trade
npm install
cp .env.example .env.local
Edit .env.local with your credentials:
# Neon Database
DATABASE_URL=postgresql://user:password@host/database?sslmode=require
# Alpaca API (for market data - OHLC, quotes, trades)
ALPACA_API_KEY=your_alpaca_api_key
ALPACA_SECRET_KEY=your_alpaca_secret_key
ALPACA_BASE_URL=https://data.alpaca.markets
npm run dev
neon_trade/
├── app/ # Next.js app router
│ ├── api/ # API routes (stocks, watchlists, earnings, oi-tracker, prefs, cron, admin, ...)
│ ├── stock/[symbol]/ # Stock detail page
│ ├── quadrant/ # Quadrant analysis page
│ ├── watchlists/ # Watchlists and the chart + list split view
│ ├── scan-alerts/ # Latest and historical scan alerts
│ ├── performance/ # How alerts played out by expiry
│ ├── earnings/ # Earnings tracker (Pro)
│ ├── oi-tracker/ # Options OI tracker (Pro)
│ ├── admin/, profile/, upgrade/, login/, guide/, diagnostics/
│ └── page.tsx # Home page
├── components/ # React components
│ ├── charts/ # Chart component with sanitization
│ ├── alpaca.ts # Alpacacomponents
│ └── ui/ # UI components
├── lib/ # Utilities and services
│ ├── db.ts # Database client
│ ├── tradier.ts # Tradier API client
│ ├── calculations.ts # Level calculations
│ └── utils.ts # Helper functions
├── types/ # TypeScript types
├── scripts/ # One-off DDL (bootstrap-*.mjs), backfills and fixture tests
├── docs/ # CHANGES.md (running change log), earnings.md, oi-tracker.md
├── CLAUDE.md # Working rules and an up-to-date architecture guide
└── PROJECT_MASTER_PLAN.md # Original project plan (predates the current code)
GET /api/stocks/search?q={query} - Search stocksGET /api/stocks/{symbol} - Get stock details with latest levelsGET /api/stocks/{symbol}/ohlc?from={date}&to={date} - Get OHLC data from AlpacaGET /api/stocks/{symbol}/levels?expiry={date}&range=true - Get levels with historical dataGET /api/stocks/{symbol}/expiry-dates - Get available expiry datesGET /api/quadrant/data - Get all stocks for quadrant chartGET /api/test-alpaca - Test Alpaca API connectionSigned-in routes (each checks the feature for the user's plan):
/api/watchlists/* - watchlists, items, quotes, levels, alerts, performance/api/scan-alerts/* - latest, historical and recent alerts/api/earnings/* - earnings list and levels/api/oi-tracker/* - meta, screen, strategies, per-stock OI, tracked positions (private to the user)/api/prefs/[key] - the user's saved UI preferences (table columns)/api/cron/* - protected jobs run by Railway (market catalog + option volume capture, earnings, Telegram alerts)For each stock, we calculate 5 levels based on the formula:
Level Value = (CLOSE - LEVEL_PRICE) / CLOSE
The level with the value closest to 0 is the "closest level" - indicating the price is near that level.
Level Types:
put_LOW - Lowest put support levelput_INT - Intermediate put supportcomb_INT - Combined put/call level (critical zone)call_INT - Intermediate call resistancecall_HIGH - Highest call resistance levelRequired table: public.eod_usmkts_price
Key columns:
symbol - Stock ticker symboltrade_date - Trading dateexpiry_date - Option expiry dateclose - Closing priceput_low, put_int, comb_int, call_int, call_high - Level pricesput_oi, call_oi - Open interest valuesOI_DIFF = put_oi - call_oiOther tables:
public.us_opt_chg_rpt - the daily options OI change report (per contract; no volume column)public.securities - name, sector, industry, market cap, indicesnt_-prefixed because the database is shared with another app: plans, user profiles, watchlists, earnings, the market date catalog, nt_opt_daily_bars (option volume), nt_oi_tracked, nt_user_prefs, ...scripts/bootstrap-*.mjs (run with node --env-file=.env.local scripts/<name>.mjs); docs/oi-tracker.md and docs/earnings.md list the ones each feature needs.eod_usmkts_price is stored as zeros, not null; see CLAUDE.md.See PROJECT_MASTER_PLAN.md for the original schema notes (they predate the current tables) and CLAUDE.md for the current architecture.
All numeric values from the database are sanitized to prevent NaN/NULL errors:
COALESCE(column, 0) in SQL queriesMap<date, {levels, closestLevel}> for date-specific tooltips/v2/stocks/bars endpoint with symbols parameter# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Lint code
npm run lint
This project is optimized for Vercel:
MIT
For detailed documentation, see PROJECT_MASTER_PLAN.md