A React-based portfolio managment application with real-time stock data and Supabase integration.
npm install
cp .env.example .env.local
# Edit .env.local with your credentials
npm startCopy .env.example to .env.local and configure:
REACT_APP_SUPABASE_URL=https://your-project.supabase.co
REACT_APP_SUPABASE_ANON_KEY=your-anon-key
REACT_APP_FINNHUB_API_KEY=your-finnhub-key- Frontend: React 18, TypeScript, Tailwind CSS
- Backend: Supabase (Auth + Database)
- API: Finnhub for real-time stock data
- State: React Context + Custom Hooks
- Build: Create React App
src/
├── components/ # UI components
├── contexts/ # Global state management
├── hooks/ # Custom React hooks
├── services/ # API clients and data layer
├── utils/ # Shared utilities
└── types/ # TypeScript definitions
npm start # Development server
npm run build # Production build
npm test # Run tests
npm run lint # ESLint- Uses Finnhub API for stock data (free tier: 60 calls/min)
- Supabase handles auth and data persistence
- Responsive design with mobile-first approach
- Real-time price updates every 2 minuts
- Mock data fallback when APIs are unavailable
The app builds to static files and can be deployed to any static hosting service (Vercel, Netlify, etc.). Make sure to configure environment variables in your deployment platform.