How stocknear/frontend works
Stocknear is a financial-market research web application: users explore stock and ETF data, market activity, options, earnings and analyst research, then save assets, manage alerts or portfolios, and use AI chat. The route tree and component names show these product areas; sampled handlers confirm selected chat, watchlist, alert, account and payment behavior. Many page-to-API connections and unsampled integrations are not shown because their wiring could not be verified.
Main entry points: pocketbase.ts PocketBase · chat/+server.ts Chat generation · +page.server.ts Price alerts · process-price-alert-triggers/+server.ts Alert processing
Components 26
Market research
- Market dashboard
src/routes/+page.svelte - Stock research
src/routes/chart/[slug]/+page.svelte - ETF research
src/routes/etf/[tickerID]/+page.svelte - Market calendars
src/routes/earnings-calendar/+page.svelte - Analyst research
src/routes/analysts/+page.svelte
Options and flow
- Options research
src/routes/etf/[tickerID]/options/+page.svelte - Options data APIs
src/routes/api/options-flow-feed/+server.ts - Options screeners
src/routes/covered-call-screener/+page.svelte
Personal tools
- Watchlists
src/routes/api/create-watchlist/+server.ts - Watchlist updates
src/routes/api/update-watchlist/+server.ts - Portfolios
src/routes/api/get-portfolio/+server.ts - Price alerts
src/routes/alerts/+page.server.ts - Alert processing
src/routes/api/process-price-alert-triggers/+server.ts - Push delivery
src/routes/api/sendPushSubscription/+server.ts
App platform
- AI chat
src/routes/chat/+page.svelte - Chat generation
src/routes/api/chat/+server.ts - Chat validation
src/lib/server/chatValidation.ts - Generation state
src/lib/server/chatGenerationRegistry.ts - PocketBase
src/lib/pocketbase.ts
Accounts and plans
- Sign in
src/routes/login/+page.server.ts - Registration
src/routes/register/+page.server.ts - Account profile
src/routes/profile/+page.server.ts - Subscription events
src/routes/payment/+server.ts
Other components
- Investor
- Lemon Squeezy
- Market data
Connections 30
- Investor → Market dashboard: opens dashboard
- Investor → Stock research: researches ticker
- Investor → ETF research: researches ETF
- Investor → Market calendars: checks events
- Investor → Analyst research: reviews analysts
- Investor → Options research: explores options
- Investor → Options screeners: screens options
- Investor → AI chat: asks questions
- Investor → Watchlists: manages watchlist
- Investor → Portfolios: views portfolio
- Investor → Price alerts: manages alerts
- Investor → Sign in: signs in
- Investor → Registration: creates account
- Investor → Account profile: manages account
- Options data APIs → PocketBase: reads and writes
- Watchlist updates → PocketBase: reads and writes
- Price alerts → PocketBase: cleans alert records
- Price alerts → Alert processing: loads via API
- Alert processing → PocketBase: reads alert state
- Alert processing → Push delivery: dispatches push
- Push delivery → PocketBase: reads subscriptions
- Chat generation → Chat validation: validates messages
- Chat generation → Generation state: tracks generation
- Chat generation → PocketBase: reads and saves chats
- Sign in → PocketBase: authenticates users
- Registration → PocketBase: creates users
- Account profile → PocketBase: manages account data
- Subscription events → PocketBase: updates subscription
- Lemon Squeezy → Subscription events: sends webhook
- Market data → Stock research: provides market data