Files
invest-copilot/docs/06-project-status.md
gitea a16050c80a
CI / lint-and-build (push) Has been cancelled
CI / python-checks (3.12) (push) Has been cancelled
feat: multiple updates - alerts, auth, sectors, rotation service, financials ingestion, task specs, and agent framework
2026-06-06 22:01:40 -04:00

2.8 KiB

Project Status — Invest Copilot

Overview

  • Phase 1: Foundation — ✅ COMPLETE

    • 6 design docs (vision, architecture, data model, domain model, open design integration, phase 1 plan)
    • Docker compose (PostgreSQL/TimescaleDB, Redis, MinIO)
    • Data pipeline scripts (price ingestion, SEC filings, sector rotation)
    • Shared types, OpenAPI spec, CI/CD, design tokens
  • Phase 2: Implementation — ✅ COMPLETE

    • Backend (FastAPI BFF) — 49 files

      • Core: main.py, config, database, cache, storage
      • Models: price, stock, watchlist, strategy, screener, sector_rotation, sec_filing, insider_trade, alert
      • Schemas: Pydantic response models for all entities
      • Routers: 14 endpoints (search, stocks, prices, sec_filings, insider_trades, peers, sentiment, watchlists, strategies, screeners, sectors, alerts, stream)
      • Services: PriceService, SecService, SentimentService, RotationService, ScreenerService
      • Tasks: ingest_prices, ingest_sec, sector_scan
      • 14 API endpoints matching OpenAPI spec
    • Frontend (Next.js 15 PWA) — 49 files

      • Layout: Sidebar (6 nav items), Header (search bar)
      • Dashboard: Portfolio summary cards, sector heatmap, watchlist table, alerts feed
      • Stock detail: Profile, price chart (lightweight-charts), SEC filings, insider trades
      • Watchlists: CRUD with sidebar selection
      • Strategies: Grid of strategy cards with backtest results
      • Screeners: ScreenerBuilder + ScreenerResults
      • Sectors: Sector heatmap + detailed rankings
      • Alerts: Filterable alert feed
      • Hooks: useStockData, useWatchlistData, useSSE
      • Stores: useUIStore, useWatchlistStore, useStrategiesStore
      • UI Components: Button, Badge, Card, Input, Modal, Skeleton, Tooltip
      • Lib: API client (axios), constants, utils, types
      • PWA with Workbox config

Current State

  • Total files: 187 (excluding node_modules, .next)
  • Stack: Next.js 15 (app router, Turbopack) + Tailwind + FastAPI + TimescaleDB + Redis + MinIO
  • API: Full OpenAPI spec implemented (14 endpoints)
  • Data models: All 8 entity types defined with SQLAlchemy models
  • Database: init.sql with TimescaleDB hypertables for prices, sector_rotation, equity_scores
  • CI/CD: GitHub Actions for lint/test/build/deploy

Next Steps (Phase 3)

  1. Infrastructure: Fix Docker bridge (kernel issue) — may need nftables/iptables fix or podman alternative
  2. Data sources: Replace mock data with real APIs (Alpha Vantage, SEC EDGAR, Finnhub)
  3. Authentication: COMPLETE (JWT register/login/me/logout/forgot/reset + users table in migration.sql)
  4. Real-time: Implement SSE stream for live price updates
  5. Testing: Add pytest tests for backend, Playwright E2E for frontend
  6. Deployment: Docker compose production config, Nginx reverse proxy