Skip to content

mitesh006/StockGuru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

46 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

StockGuru

A modern full-stack stock analysis web application that provides real-time market data, company fundamentals, and an interactive dashboard for exploring stocks.


๐Ÿš€ Features

๐Ÿ” Stock Search

  • Search stocks instantly using symbol or name
  • Fast autocomplete suggestions
  • Smooth navigation to stock details page

๐Ÿ“ˆ Dashboard

  • Live stock ticker bar
  • Market overview (S&P 500, NASDAQ, DOW)
  • Trending stocks section
  • Interactive chart section
  • Clean, modern UI with real-time feel

๐Ÿ“„ Stock Details Page

  • Real-time stock data (price, open, high, low, volume)

  • Key statistics (P/E, EPS, ROE, margins, etc.)

  • Detailed fundamentals

    • Yearly data (last 3 years)
    • Quarterly data (last 4 quarters)
  • Structured and readable financial insights


๐Ÿ” Authentication System

  • User register / login / logout
  • JWT-based authentication
  • Secure password handling
  • Guest mode for browsing stocks

โญ Watchlist (Planned)

  • Watchlist access restricted to logged-in users
  • Currently under development (UI integrated)

๐Ÿง  Key Concepts Implemented

  • Backend API aggregation
  • In-memory caching (to reduce API calls)
  • Clean data transformation from external APIs
  • Separation of concerns (routes, controllers, services)
  • Responsive and structured UI design
  • MVP-focused development approach

๐Ÿ›  Tech Stack

Frontend

  • HTML
  • CSS
  • JavaScript (Vanilla)

Backend

  • Node.js
  • Express.js

Database

  • MongoDB (MongoDB Compass)

Authentication

  • JWT (JSON Web Tokens)

External APIs

  • Finnhub (stock data, metrics, fundamentals)

โš™๏ธ Project Structure

project-root/
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ dashboard.html
โ”‚   โ”œโ”€โ”€ stock.html
โ”‚   โ”œโ”€โ”€ login.html
โ”‚   โ”œโ”€โ”€ register.html
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ””โ”€โ”€ js/
โ”‚
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ routes/
โ”‚   โ”œโ”€โ”€ controllers/
โ”‚   โ”œโ”€โ”€ services/
โ”‚   โ”œโ”€โ”€ models/
โ”‚   โ”œโ”€โ”€ middleware/
โ”‚   โ””โ”€โ”€ server.js
โ”‚
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ stocks.json
โ”‚
โ”œโ”€โ”€ .env
โ””โ”€โ”€ README.md

๐Ÿ”„ Application Flow

  1. User lands on dashboard

  2. Can browse as guest or log in

  3. Searches for a stock

  4. Opens stock details page

  5. Views:

    • live price data
    • financial metrics
    • historical fundamentals
  6. Watchlist access requires login


โšก Performance Optimizations

  • Backend caching for ticker and market data
  • Reduced redundant API calls
  • Filtered and structured API responses
  • Lightweight frontend rendering

๐ŸŽฏ MVP Scope

This project focuses on:

  • Reliable stock data display
  • Clean UI/UX
  • Efficient API usage
  • Scalable backend structure

Deferred features:

  • Full watchlist implementation
  • Advanced analytics
  • Portfolio tracking

๐Ÿ”ฎ Future Improvements

  • Complete watchlist functionality
  • Advanced charting (indicators, overlays)
  • Portfolio management system
  • News integration
  • Improved data insights and trends

๐Ÿ“š Learnings

  • Handling API limitations and rate limits
  • Importance of data structuring
  • UI hierarchy and user experience design
  • Backend optimization with caching
  • MVP-based development strategy

๐Ÿ‘ฅ Team

  • Mitesh Patil โ€” Backend Development, API Integration, System Architecture
  • Neem โ€” Analysis Logic, Data Structuring, Financial Insights
  • Harshit โ€” Frontend Development, UI Design, User Experience

๐Ÿงช Setup Instructions

1. Clone repository

git clone <your-repo-link>
cd <project-folder>

2. Install backend dependencies

npm install

3. Create .env file

PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
FINNHUB_API_KEY=your_api_key

4. Run backend

npm start

5. Open frontend

  • Open dashboard.html in browser

๐Ÿ“Œ Notes

  • This is an MVP project built for learning and demonstration
  • Some features are intentionally simplified
  • Watchlist functionality is currently under development

๐Ÿ‘จโ€๐Ÿ’ป Author

Developed as part of a student project (SGP) focusing on real-world system design and problem-solving.


โญ Acknowledgements

  • Finnhub API for financial data
  • Open-source resources and community support

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors