FinTrack is a full-stack stock trading and portfolio management dashboard. It lets users sign up, log in, view real-time stock prices, place trades, and track their portfolios. The app is built using the MERN stack (MongoDB, Express, React, Node.js) and integrates with the Alphavantage API for market data. Some important features are:
- Buy/Sell Engine
- AI-Chatbot using OpenAI's API key
- Stock Price Prediction using self built ML model.
Deployed Model test link: https://stock-analyser-ggjy.onrender.com/predict/MSFT Replace MSFT with any Stock ticket you like.
| Layer | Technology |
|---|---|
| Frontend | React (Vite), Tailwind CSS, Bootstrap |
| Backend | Node.js, Express |
| Database | MongoDB + Mongoose |
| Auth | JWT + HTTP-only cookies + bcrypt |
| API | AlphaVantage API |
fin\_track/
βββ backend/ # Express API server
β βββ controllers/
β βββ middleware/
β βββ routes/
β βββ models/
β βββ index.js
βββ frontend/ # Public-facing React app (signup/login)
β βββ ...
βββ dashboard/ # Private user dashboard (portfolio etc.)
β βββ ...
βββ screenshots/ # UI screenshots
βββ README.md
PORT=3002
MONGODB_URI=mongodb+srv://<username>:<password>@cluster.mongodb.net/fintrack-db
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:5173REACT_APP_BACKEND_URL=http://localhost:3002
REACT_APP_API_KEY=your_alphavantage_api_keyREACT_APP_BACKEND_URL=http://localhost:3002
REACT_APP_DASHBOARD_URL=http://localhost:5174
REACT_APP_API_KEY=your_alphavantage_api_keyπ Rename
.env.sampleto.envand update all placeholder values before running.
git clone https://github.com/<your-username>/fin_track.git
cd fin_trackcd backend
npm install
cp .env.sample .env # and update it
npm run devServer runs at http://localhost:3002
cd ../frontend
npm install
cp .env.sample .env
npm run devRuns on http://localhost:5173
cd ../dashboard
npm install
cp .env.sample .env
npm run devDashboard available at http://localhost:5174
| Route | Method | Description |
|---|---|---|
/signup |
POST | Register new user |
/login |
POST | Login and set secure cookie |
/logout |
POST | Log out user |
/verify |
GET | Check if user is authenticated |
/holdings |
GET | Get user's current stock holdings |
/positions |
GET | Fetch all trade positions |
/orders |
POST | Place a buy/sell order |
- π° Market data from ALPHA_VANTAGE
- π¨ UI powered by Bootstrap + TailwindCSS
Vaibhav Tyagi