A modern React + TypeScript dashboard for monitoring and observing the LinkedIn Augmentation Service.
- Real-time Updates: WebSocket connection for live scrape progress and metrics
- Dashboard Overview: Key stats and active scrapes at a glance
- Scrape Monitoring: Track individual scrape operations with detailed progress
- API Metrics: Monitor API performance, response times, and error rates
- Pipeline Tracking: View pipeline execution history and status
- Error Tracking: Centralized error logging and monitoring
- React 18 - UI library
- TypeScript - Type safety
- Vite - Build tool and dev server
- Tailwind CSS - Styling
- React Router - Routing
- Zustand - State management
- Socket.io Client - WebSocket connections
- Recharts - Data visualization
- Axios - HTTP client
- Lucide React - Icons
- Node.js >= 20.0.0
- Backend service running on
localhost:8080
npm installCreate a .env.local file in the root directory:
VITE_API_URL=http://localhost:8080
VITE_WS_URL=ws://localhost:8080npm run devThe dashboard will be available at http://localhost:5173
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
src/
├── api/ # API client and methods
├── components/ # React components
│ ├── common/ # Reusable components
│ ├── dashboard/ # Dashboard-specific components
│ ├── layout/ # Layout components
│ ├── metrics/ # Metrics visualization components
│ └── scrapes/ # Scrape-related components
├── hooks/ # Custom React hooks
├── pages/ # Page components
├── store/ # Zustand stores
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
├── App.tsx # Main app component
├── main.tsx # Entry point
└── index.css # Global styles
The dashboard listens for these real-time events:
connection:established- WebSocket connection confirmedscrape:progress- Scrape progress updatesapi:call- API call metricspipeline:update- Pipeline status changeserror:occurred- Error notifications
The dashboard communicates with these backend endpoints:
GET /api/dashboard/stats- Overall statisticsGET /api/dashboard/active-scrapes- Currently running scrapesGET /api/dashboard/scrapes- Scrape historyGET /api/dashboard/api-metrics- API performance metricsGET /api/dashboard/pipelines- Pipeline executionsGET /api/dashboard/errors- Error logsWS /ws- WebSocket connection
Ensure your backend service is running:
cd ../linkedin-augmentation-service-overhaul
npm run devThe backend should be available at http://localhost:8080
npm run buildThe optimized production build will be in the dist/ directory.
This app is configured for deployment to Vercel:
- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard:
VITE_API_URL- Production backend URLVITE_WS_URL- Production WebSocket URL
- Deploy
- Verify backend is running and accessible
- Check
VITE_WS_URLenvironment variable - Ensure no CORS issues between frontend and backend
- Clear node_modules and reinstall:
rm -rf node_modules && npm install - Verify Node.js version:
node --version(should be >= 20)
- Create a feature branch
- Make your changes
- Test thoroughly with local backend
- Submit a pull request
Proprietary - Series