A comprehensive React-based dashboard for monitoring mining operations and predicting rockfall hazards using advanced AI algorithms and real-time sensor data.
- Real-time Monitoring: Live sensor data tracking with instant updates
- Interactive Risk Map: Visual representation of mining zones with color-coded risk levels
- AI-Powered Predictions: Machine learning algorithms for rockfall risk assessment
- Alert Management: Automated warning system with multiple severity levels
- Data Visualization: Comprehensive charts and analytics for trend analysis
- Export Capabilities: Generate detailed reports in PDF format
- Landing Page: Marketing homepage with system overview and statistics
- Main Dashboard: Central monitoring interface with real-time metrics
- Analytics: Advanced data visualization and performance insights
- About System: Technical specifications and technology stack
- Team Directory: Development team profiles and expertise
- Contact Support: Help desk and FAQ section
- React 18: Modern component-based UI library
- TypeScript: Type-safe JavaScript development
- Vite: Fast development server and build tool
- Tailwind CSS: Utility-first CSS framework
- Framer Motion: Smooth animations and transitions
- Lucide React: Beautiful icon library
- Leaflet.js: Interactive mapping with OpenStreetMap
- Recharts: Responsive chart library for React
- GeoJSON: Geographic data visualization
- ESLint: Code linting and quality assurance
- PostCSS: CSS processing and optimization
- Node.js: JavaScript runtime environment
- Node.js (v16 or higher)
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd rockfall-dashboard
-
Install dependencies
npm install
-
Start development server
npm run dev
-
Open browser Navigate to
http://localhost:5174
- Dashboard: Main monitoring interface with live data
- Analytics: Detailed charts and performance metrics
- About: System information and technical details
- Team: Development team profiles
- Contact: Support and help resources
- Risk Map: Interactive zones with real-time risk assessment
- Alert Panel: Live notifications with severity classification
- Sensor Charts: Displacement and rainfall monitoring
- Export Reports: Generate comprehensive PDF reports
The application includes comprehensive mock data for demonstration:
- Zone A (High Risk): Active monitoring area
- Zone B (Medium Risk): Standard surveillance
- Zone C (Low Risk): Routine inspection area
- Displacement Sensors: Movement detection and tracking
- Rainfall Monitors: Weather impact assessment
- Seismic Detectors: Ground stability analysis
- Critical: Immediate evacuation required
- Warning: Enhanced monitoring activated
- Info: Standard operational updates
npm run dev: Start development servernpm run build: Create production buildnpm run preview: Preview production buildnpm run lint: Run ESLint code analysis
src/
βββ components/ # Reusable UI components
β βββ Layout.tsx # Main layout wrapper
β βββ Header.tsx # Navigation header
β βββ Sidebar.tsx # Navigation sidebar
β βββ RiskMap.tsx # Interactive mapping
β βββ AlertsPanel.tsx # Alert management
β βββ SensorCharts.tsx# Data visualization
β βββ RiskGauge.tsx # Risk level indicator
β βββ ExportReport.tsx# Report generation
βββ pages/ # Application pages
β βββ Landing.tsx # Homepage
β βββ Dashboard.tsx # Main dashboard
β βββ Analytics.tsx # Advanced analytics
β βββ About.tsx # System information
β βββ Team.tsx # Team profiles
β βββ Contact.tsx # Support page
βββ data/ # Mock data files
β βββ mockZones.ts # Risk zone data
β βββ mockSensors.ts # Sensor information
β βββ mockAlerts.ts # Alert notifications
βββ App.tsx # Main application
βββ main.tsx # Application entry point
npm run buildnpm run previewThe application will be built to the dist/ directory and can be deployed to any static hosting service.
Add concise AI-generated summaries of alerts, sensor risk snapshots, or slope images using Google's Gemini (free tier).
- Enable the Generative Language API in Google AI Studio and create an API key.
- Copy
.env.exampleto.env.localand set your key:
VITE_GEMINI_API_KEY=YOUR_KEY_HERE- Install dependency (already in package if you pulled latest):
npm install @google/generative-ai- Restart the dev server so Vite picks up the env var.
AISummaryPanelβ Generates a textual summary for current alerts (auto-included under Alerts) or sensor risk snapshot.ImageSummaryUploaderβ Upload a slope / bench image and receive a concise geotechnical-style note.
- Alerts view: Click "Generate" in the AI Summary (Gemini) panel after alerts load.
- Image analysis: Import and place
<ImageSummaryUploader />in any dashboard section or sidebar.
VITE_GEMINI_API_KEY is exposed client-side (Vite prefix requirement). Do NOT commit a real key; use .env.local which is gitignored.
- Prompts include only minimal structured data (no raw sensor time series) to reduce tokens.
- Handle absence of key gracefully; UI will show a simple message.
- For stricter security move calls to a backend proxy to avoid exposing the key.
- Streaming token UI
- Model selector (flash vs pro)
- Function calling for structured mitigation recommendations
- Rate limit / debounce guard
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For technical support and questions:
- Email: support@rockfall-system.com
- Documentation: System Docs
- Issues: GitHub Issues
Built with β€οΈ for mining safety and operational excellence { files: ['**/*.{ts,tsx}'], extends: [ // Other configs... // Enable lint rules for React reactX.configs['recommended-typescript'], // Enable lint rules for React DOM reactDom.configs.recommended, ], languageOptions: { parserOptions: { project: ['./tsconfig.node.json', './tsconfig.app.json'], tsconfigRootDir: import.meta.dirname, }, // other options... }, }, ])