How ckeen302/senior_design_project works
InsiderPulse is a cross-platform SEC Form 4 tracker. Users authenticate, browse insider trades and WISI signals, manage a watchlist, and inspect company charts and live prices; searches can import untracked tickers. Separately, scheduled ingestion fetches and parses SEC filings, stores transactions, and emits whale alerts. The README documents database-triggered WISI recalculation and Realtime delivery. Several screen and backend links are documented rather than verified from source excerpts; unsampled implementation details are not inferred.
Main entry points: RootNavigator.tsx Navigation · index.ts Ingestion endpoint · api.ts Data access API · ingest.ts Ingest pipeline
Components 30
InsiderPulse app
- App bootstrap
App.tsx - Auth state
src/store/authStore.ts - Navigation
src/navigation/RootNavigator.tsx - Insider feed
src/screens/FeedScreen.tsx - WISI signals
src/screens/SignalsScreen.tsx - Watchlist
src/screens/WatchlistScreen.tsx - Company detail
src/screens/CompanyDetailScreen.tsx - Settings
src/screens/SettingsScreen.tsx - Ticker search
src/components/TickerSearchModal.tsx
Client data services
- Feed subscription
src/hooks/useInsiderFeed.ts - Watchlist queries
src/hooks/useWatchlist.ts - Company queries
src/hooks/useCompany.ts - Live price hook
src/hooks/useLivePrice.ts - Data access API
src/lib/api.ts - Offline query cache
src/lib/queryClient.ts - Supabase client
src/lib/supabase.ts
Filing ingestion
- Ingestion endpoint
supabase/functions/fetch-sec-filings/index.ts - Request validation
supabase/functions/fetch-sec-filings/request.ts - Ingest pipeline
supabase/functions/_shared/ingest.ts - Ingest repository
supabase/functions/_shared/repository.ts - EDGAR client
supabase/functions/_shared/edgar.ts - Form 4 parser
supabase/functions/_shared/form4.ts - Market-cap lookup
supabase/functions/_shared/finnhub.ts - Whale push alerts
supabase/functions/_shared/push.ts
Supabase platform
- Supabase data
- Supabase Realtime
Other components
- App user
- pg_cron
- SEC EDGAR
- Finnhub services
Connections 40
- App user → App bootstrap: opens
- App bootstrap → Auth state: initializes
App.tsx - App bootstrap → Navigation: renders
App.tsx - Navigation → Insider feed: offers feed
- Navigation → WISI signals: offers signals
- Navigation → Watchlist: offers watchlist
- Navigation → Company detail: opens detail
- Navigation → Settings: offers settings
- Insider feed → Feed subscription: loads trades
- Feed subscription → Data access API: fetches feed
src/hooks/useInsiderFeed.ts - Feed subscription → Supabase Realtime: subscribes
- WISI signals → Data access API: loads scores
- Watchlist → Watchlist queries: loads list
src/screens/WatchlistScreen.tsx - Watchlist queries → Data access API: reads and updates
src/hooks/useWatchlist.ts - Company detail → Company queries: loads company
src/screens/CompanyDetailScreen.tsx - Company detail → Live price hook: loads price
src/screens/CompanyDetailScreen.tsx - Company queries → Data access API: fetches details
src/hooks/useCompany.ts - Live price hook → Finnhub services: gets live quotes
src/hooks/useLivePrice.ts - Ticker search → Data access API: searches and imports
src/components/TickerSearchModal.tsx - Ticker search → Watchlist queries: adds company
src/components/TickerSearchModal.tsx - Data access API → Supabase client: queries data
src/lib/api.ts - Supabase client → Supabase data: uses protected API
src/lib/supabase.ts - App bootstrap → Offline query cache: provides query cache
App.tsx - Offline query cache → Supabase data: persists cached results
- pg_cron → Ingestion endpoint: triggers ingestion
- Ingestion endpoint → Request validation: validates request
supabase/functions/fetch-sec-filings/index.ts - Ingestion endpoint → Ingest pipeline: runs pipeline
supabase/functions/fetch-sec-filings/index.ts - Ingestion endpoint → Ingest repository: creates repository
supabase/functions/fetch-sec-filings/index.ts - Ingestion endpoint → Whale push alerts: sends alerts
supabase/functions/fetch-sec-filings/index.ts - Ingest pipeline → EDGAR client: fetches filings
supabase/functions/_shared/ingest.ts - Ingest pipeline → Form 4 parser: parses filings
supabase/functions/_shared/ingest.ts - Ingest pipeline → Market-cap lookup: fetches market cap
supabase/functions/_shared/ingest.ts - Ingest pipeline → Ingest repository: reads and upserts
supabase/functions/_shared/ingest.ts - EDGAR client → SEC EDGAR: requests filings
- Market-cap lookup → Finnhub services: requests market cap
- Ingest repository → Supabase data: stores transactions
- Supabase data → Supabase Realtime: publishes changes
- Supabase data → Supabase data: recalculates WISI
- Supabase Realtime → Feed subscription: delivers live inserts
- Ingestion endpoint → Finnhub services: optional market data