A full-stack production starter for Indian market tracking, charting, watchlists, alerts, sectors, and a bot console.
- Responsive React dashboard
- Chart.js time-based historical charts
- Express API
- SQLite persistence
- JWT login
- Watchlist and alerts
- Screener and sector pages
- Bot logs and status
- Demo data seeded on first run
sudo apt update
sudo apt install -y git curlInstall Node.js 20+.
cd marketpulse-productionnpm install
npm install --prefix server
npm install --prefix clientcp server/.env.example server/.env
nano server/.envnpm run devOpen:
- Frontend:
http://localhost:5173 - Backend:
http://localhost:4000/health
The app auto-seeds a demo user:
- Email:
demo@marketpulse.local - Password:
Password123!
npm run build
npm startThen open http://localhost:4000
- Chart.js uses a real time scale for date-based axes.
- SQLite is used because it is self-contained and zero-configuration.
- The backend seeds realistic historical OHLC data, watchlist entries, alerts, and logs.
- For split deployments such as
Vercel frontend + Render backend, setVITE_API_BASE_URLin the frontend environment instead of relying on a hardcoded production hostname. - SMTP alerts are server-managed. Configure
SMTP_HOST,SMTP_USER,SMTP_PASS, andSMTP_FROMon the backend before expecting user alert emails or admin test mail to work. - Portfolio uploads now support direct CSV or JSON ingestion. Uploaded files are stored under
PORTFOLIO_UPLOAD_DIRfor audit/manual review, while unsupported statement formats can still be captured there for follow-up mapping.
Copy a service file to /etc/systemd/system/marketpulse.service and start it with systemctl enable --now marketpulse.