Real-time dashboard for monitoring cross-border payments powered by blockchain technology.
- Real-time Payment Monitoring - Track payments through every step
- Quick Send Interface - Send demo payments with one click
- Payment Timeline - Detailed step-by-step progress tracking
- Statistics Dashboard - Overview of payment volumes and success rates
- Responsive Design - Works on desktop and mobile
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS with custom Starling theme
- Components: Headless UI for modals and menus
- Icons: Heroicons for consistent iconography
- API Integration: Axios with interceptors
- Charts: Recharts for data visualization
git clone https://github.com/Itsdex47/starling-dashboard.git
cd starling-dashboardnpm installcp .env.example .envEdit .env with your settings:
STARLING_API_URL=http://localhost:3001
DEMO_JWT_TOKEN=your_jwt_token_from_api_login
NEXT_PUBLIC_DEMO_MODE=truenpm run devVisit http://localhost:3000
The dashboard comes with demo mode enabled by default. This allows you to:
- Send demo payments without real money
- View simulated blockchain transactions
- Experience the full payment flow
- Test all dashboard features
The dashboard connects to your Starling Remittance API:
POST /api/payments/demo- Send demo paymentsGET /api/payments/history- Get payment historyGET /api/payments/status/:id- Get payment detailsGET /health- System health check
Uses JWT tokens for API authentication. Get your token by:
- Register/login to your Starling API
- Copy the JWT token
- Add it to your
.envfile
- Total volume sent
- Payments in progress
- Completed payments
- Failed payments
- Simple payment form
- Real-time fee calculation
- Exchange rate display
- Instant payment submission
- Recent payment history
- Status indicators
- Payment details modal
- Real-time updates
- Step-by-step timeline
- Progress tracking
- Transaction hashes
- Fee breakdown
- Auto-refresh for active payments
Custom Starling theme defined in tailwind.config.js:
colors: {
starling: {
50: '#f0f9ff',
500: '#0ea5e9',
600: '#0284c7',
// ... full color palette
}
}Tailwind utility classes with custom components in globals.css:
.card- Consistent card styling.btn-primary- Primary button style.status-*- Status badge variants
npm run build
npm start# Install Vercel CLI
npm i -g vercel
# Deploy
vercelSet in your deployment platform:
STARLING_API_URL- Your production API URLDEMO_JWT_TOKEN- Production JWT tokenNEXT_PUBLIC_DEMO_MODE- Set tofalsefor production
โโโ app/ # Next.js 13+ app directory
โ โโโ globals.css # Global styles
โ โโโ layout.tsx # Root layout
โ โโโ page.tsx # Dashboard homepage
โโโ components/ # React components
โ โโโ Header.tsx # Navigation header
โ โโโ PaymentStats.tsx
โ โโโ QuickSend.tsx
โ โโโ PaymentsList.tsx
โ โโโ PaymentDetailModal.tsx
โโโ lib/ # Utilities
โ โโโ api.ts # API integration
โโโ public/ # Static assets
- Create component in
components/ - Add API methods to
lib/api.ts - Import and use in pages
- Style with Tailwind classes
All API calls go through lib/api.ts with:
- Automatic JWT authentication
- Request/response logging
- Error handling
- TypeScript interfaces
- Auto-refresh payment status every 30 seconds
- Real-time progress tracking
- Live transaction monitoring
- Clean, modern design
- Responsive layout
- Loading states
- Error handling
- Success notifications
- TypeScript throughout
- ESLint configuration
- Hot reloading
- Component isolation
- API debugging
- โ Dashboard foundation
- ๐ Real blockchain integration
- ๐ Circle API setup
- ๐ Live transaction testing
- User authentication system
- Multiple corridor support
- Advanced analytics
- Mobile app
- Admin panel
Built with โค๏ธ by Starling Labs - The future of cross-border payments