StockTracker

A full-stack, real-time stock price dashboard. Live WebSocket price feeds, D3 visualisations, price threshold alerts, and an AI portfolio chatbot for premium users.

Built as a portfolio project demonstrating real-time architecture, modern React patterns, type-safe full-stack TypeScript, and production-grade engineering practices.


Features & Live Demo

The application is deployed on AWS cloud. Here are some of the features of the applications.

  • User registration with option to integrate using Google or Github accounts.
  • Live tracking of stocks using Finnhub API connected via websocket.
  • Show Candle chart using D3 by fetching data from Yahoo Finance API.
  • AI Chat integration with LLM model llama-3.1-8b-instant using Groq API.

Click here for live demo.


Tech Stack

Frontend

FrameworkReact 18 + TypeScript (strict)
Data fetchingTanStack Query v5 (React Query)
UI stateZustand
VisualisationsD3.js
StylingTailwind CSS
FormsReact Hook Form + Zod
Real-timeNative WebSocket client
PerformanceTanStack Virtual (virtualised lists)
TestingVitest + React Testing Library + Playwright
BundlerVite

Backend

RuntimeNode.js + TypeScript (strict)
FrameworkNestJS
DatabasePostgreSQL (via Prisma ORM)
Cache + queueRedis (ElastiCache) + BullMQ
AuthJWT (access + refresh rotation) + Passport.js
Social authOAuth 2.0 — Google, GitHub
Real-timeNestJS WebSocket Gateway
EmailNodemailer + SendGrid
LLMProvider-agnostic adapter (OpenAI / Anthropic)
TestingJest + Supertest

Infrastructure

CloudAWS
Frontend hostingS3 + CloudFront
Backend computeECS Fargate
DatabaseRDS PostgreSQL
CacheElastiCache Redis
Load balancerApplication Load Balancer
IaCTerraform
CI/CDGitHub Actions
SASTCodeQL + SonarCloud
Secret managementAWS Secrets Manager

Project link: https://github.com/ruchirV/StockTracker