A production-ready, enterprise-grade stock market trading and analytics platform for Indian equities (NSE/BSE)
Live Demo β’ API Docs β’ Architecture β’ Developer Guide
IndiaTrades is a full-stack fintech application that provides real-time stock market data, trading capabilities, portfolio management, and market analytics for Indian equities. Built with modern technologies and designed with enterprise-grade architecture patterns, it demonstrates proficiency in:
- Real-Time Systems - WebSocket-based live price streaming
- Event-Driven Architecture - Pub/Sub pattern for efficient data distribution
- Microservices-Ready Design - Modular, scalable backend structure
- Secure Authentication - JWT-based auth with Row Level Security (RLS)
- Modern Frontend - React 18 with advanced state management
- Live price streaming with WebSocket connections
- Interactive candlestick charts (Lightweight Charts)
- Customizable watchlist with instant updates
- Portfolio value tracking with P&L calculations
- Top Gainers/Losers - Real-time market movers
- Volume Shockers - Unusual volume detection
- Price Shockers - Significant price movements
- 52-Week High/Low tracking
- Buy/Sell order placement (NSE/BSE)
- Delivery and Intraday options
- Real-time order status updates
- Transaction history with P&L summary
- Upcoming IPO calendar
- Subscription status tracking
- GMP (Grey Market Premium) updates
- Listing gain analysis
- Fund categorization (Equity, Debt, Hybrid)
- NAV tracking and returns analysis
- Star rating display
- AUM and asset size metrics
- Supabase Auth integration
- JWT-based session management
- Row Level Security (RLS) policies
- Secure API endpoints
| Layer | Technologies |
|---|---|
| Frontend | React 18, Vite 5, TailwindCSS 3.3, Framer Motion |
| State Management | React Context API, Custom Hooks |
| Charts | Lightweight Charts (TradingView) |
| Backend | Node.js 18+, Express 4.18, Socket.io 4.7 |
| Database | Supabase (PostgreSQL), Row Level Security |
| Authentication | Supabase Auth (JWT) |
| APIs | Yahoo Finance, RapidAPI (Indian Stock Exchange) |
| Deployment | Render (Backend + Frontend), Vercel (Alternative) |
- Node.js 18+ and npm
- Git
- Supabase account (for database)
git clone https://github.com/Mmaneesh007/india-trade.git
cd india-tradecd backend
npm install
# Create .env file
cp .env.example .env
# Add your Supabase credentials to .env
npm run devBackend runs on http://localhost:4000
cd frontend
npm install
npm run devFrontend runs on http://localhost:5173
Backend (.env)
SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_supabase_anon_key
PORT=4000Frontend (.env)
VITE_API_URL=http://localhost:4000
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_keyindian-stock-live/
βββ backend/ # Node.js API Server
β βββ routes/ # API Route Handlers
β β βββ quotes.js # Stock quotes endpoints
β β βββ movers.js # Market movers (gainers/losers)
β β βββ transactions.js # Trading transactions
β β βββ watchlist.js # Watchlist management
β β βββ ipo.js # IPO data endpoints
β β βββ mutualfunds.js # Mutual funds data
β βββ services/ # Business Logic
β β βββ marketData.js # Yahoo Finance integration
β βββ socket.js # WebSocket server setup
β βββ supabaseClient.js # Database client
β βββ server.js # Express app entry point
β
βββ frontend/ # React Application
β βββ src/
β β βββ pages/ # Route Components
β β β βββ Dashboard.jsx # Main trading dashboard
β β β βββ MarketMovers.jsx# Market analytics page
β β β βββ TradePage.jsx # Stock trading page
β β β βββ MutualFunds.jsx # Mutual funds explorer
β β βββ components/ # Reusable UI Components
β β β βββ Header.jsx # Navigation & search
β β β βββ StockChart.jsx # Candlestick charts
β β β βββ TopMovers.jsx # Gainers/Losers widget
β β β βββ Watchlist.jsx # Watchlist component
β β βββ context/ # React Context Providers
β β βββ api.js # API client configuration
β βββ vite.config.js # Build configuration
β
βββ docs/ # Documentation
β βββ ARCHITECTURE.md # System design document
β βββ API_DOCUMENTATION.md # API reference
β βββ DATABASE_SCHEMA.md # Database design
β βββ DEVELOPER_GUIDE.md # Developer onboarding
β βββ DEVOPS_GUIDE.md # Operations guide
β βββ INTERVIEW_PREP.md # MNC interview talking points
β
βββ render.yaml # Render deployment config
| Document | Description |
|---|---|
| Architecture | System design, data flow, scalability |
| API Documentation | Complete API reference |
| Database Schema | Supabase tables, RLS policies |
| Developer Guide | Setup, conventions, testing |
| DevOps Guide | Deployment, monitoring, operations |
| Interview Prep | System design discussion points |
This project demonstrates:
- System Design Skills - Scalable real-time architecture
- Full-Stack Proficiency - React + Node.js + PostgreSQL
- API Design - RESTful + WebSocket hybrid approach
- Security Best Practices - RLS, JWT, secure configurations
- DevOps Knowledge - CI/CD, containerization-ready
- Code Quality - Modular, maintainable structure
π See INTERVIEW_PREP.md for detailed system design discussion points.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Manish
Full-Stack Developer | Fintech Enthusiast
β Star this repository if you find it helpful!
Built with β€οΈ for the Indian Stock Market
