Skip to content

HackStyx/portfolio-tracker

Repository files navigation

Stock Portfolio Tracker 📈

Vercel Render React Vite MySQL TailwindCSS Node.js

A modern, responsive stock portfolio tracker built with React and Node.js

Live DemoAPI DocumentationReport Bug

Portfolio Dashboard

✨ Features

  • 📊 Portfolio Management - Track your stocks with real-time updates
  • 👀 Watchlist - Monitor potential investments
  • 🌓 Dark/Light Mode - Easy on the eyes, day and night
  • 📱 Fully Responsive - Perfect on desktop and mobile
  • 🔄 Live Updates - Stock prices update automatically
  • 📈 Price History - Visualize stock performance

🚀 Quick Start

Prerequisites

  • Node.js 14+
  • npm or yarn
  • MySQL

Frontend Setup

  1. Clone and install:
git clone https://github.com/HackStyx/portfolio-tracker.git
cd portfolio-tracker
npm install
  1. Create .env:
VITE_API_BASE_URL=http://localhost:5000/api
  1. Start development server:
npm run dev

Backend Setup

  1. Setup backend:
cd backend
npm install
  1. Configure .env:
DATABASE_URL=mysql://user:password@localhost:3306/portfolio_tracker
PORT=5000
NODE_ENV=development
  1. Run migrations and start:
npm run migrate
npm start

🔌 API Endpoints

Base URL

https://portfolio-tracker-backend-y7ne.onrender.com/api

Portfolio

GET     /api/stocks           # Get portfolio stocks
POST    /api/stocks           # Add stock
PUT     /api/stocks/:id       # Update stock
DELETE  /api/stocks/:id       # Remove stock

Watchlist

GET     /api/watchlist           # Get watchlist
POST    /api/watchlist           # Add to watchlist
PUT     /api/watchlist/:id       # Update watchlist item
DELETE  /api/watchlist/:id       # Remove from watchlist

⚡️ Tech Stack

Frontend

  • React + Vite
  • TailwindCSS
  • Framer Motion
  • Tremor Charts
  • Axios

Backend

  • Node.js
  • Express
  • MySQL
  • Knex.js

⚠️ Limitations

  • Uses simulated stock data
  • Single-user environment
  • Price updates every minute
  • Best viewed in modern browsers

📄 License

MIT © HackStyx