Skip to content

Repository files navigation

MarketLens

Market intelligence for stocks & ETFs — a polished demo app.

Track symbols, watch daily movement, and surface momentum & unusual-volume insights in a market-terminal-meets-editorial interface.

Demo only. Not investment advice.


Stack

  • Web — Next.js 15 (App Router), React 19, Tailwind, Recharts, Space Grotesk + IBM Plex Sans
  • API — Fastify 5 + TypeScript, Zod validation, Redis caching, freshness metadata
  • ELT — TypeScript ingest + transform jobs (raw → staging → marts), idempotent
  • DB — Postgres 16 + Prisma
  • Cache — Redis 7
  • Provider — Alpha Vantage (behind an adapter in packages/market-data)

Quick start

# 1. Install
pnpm install

# 2. Configure environment
cp .env.example .env
#    (optional) add a real Alpha Vantage key; without one the app uses seeded data
#    Get a free key: https://www.alphavantage.co/support/#api-key

# 3. Infra
docker compose up -d

# 4. Database
pnpm db:migrate
pnpm db:seed

# 5. ELT (ingest + transform). Uses live provider if a key is set, else sample data.
pnpm elt:run

# 6. Run everything
pnpm dev

Then open:

The dashboard shows live quotes, a freshness timestamp, provider status, and your watchlist with momentum & unusual-volume insights.

Scripts

Command Description
pnpm dev Run web + api in parallel
pnpm test Run all package tests
pnpm lint Lint all packages
pnpm format Prettier-format the repo
pnpm db:migrate Apply Prisma migrations
pnpm db:seed Seed symbols + sample data
pnpm elt:run Run ingest + transform jobs

Seed symbols

AAPL, MSFT, NVDA, TSLA, AMZN, META, SPY, QQQ

See CLAUDE.md for architecture and project conventions.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages