Blockchain Tourism Sustainability Analytics Platform
STC ImpactViz adalah platform analytics berkelanjutan berbasis blockchain yang dirancang untuk menganalisis dampak ekonomi, sosial, dan lingkungan dari industri pariwisata. Platform ini mengintegrasikan data on-chain dan off-chain, menyediakan real-time analytics, AI-powered recommendations, dan ESG compliance reporting.
- β¨ Fitur Utama
- π Demo & Screenshots
- ποΈ Teknologi Stack
- π¦ Instalasi
- π― Cara Penggunaan
- π§ Konfigurasi
- π Fitur Lanjutan
- π€ Kontribusi
- π Lisensi
- π₯ Tim
- Economic Impact: Analisis volume transaksi blockchain, total bookings, dan rata-rata spending
- Social Impact: Tracking customer ratings, reviews, dan sentiment analysis
- Environmental Impact: Monitoring konsumsi energi, COβ equivalent, dan renewable energy percentage
- Sustainability Score: Kalkulasi real-time 0-100 score berdasarkan weighted metrics
- GRI Standards: Global Reporting Initiative compliance
- UN SDGs: Alignment dengan Sustainable Development Goals
- GHG Protocol: Greenhouse Gas Protocol untuk carbon accounting
- Export Formats: PDF, Excel (.xlsx), JSON untuk stakeholder reporting
- Interactive Maps: Leaflet-powered geographic dashboard
- Location Analytics: Performance metrics per destination
- Heatmaps: Visualisasi konsentrasi aktivitas pariwisata
- Route Optimization: Carbon footprint analysis per location
- Live Data Updates: Simulasi real-time data changes
- Predictive Analytics: AI-powered forecasting untuk sustainability trends
- Scenario Testing: Test berbagai strategi sustainability
- Intelligent Analysis: Auto-generated actionable recommendations
- Priority Scoring: High/Medium/Low priority categorization
- Impact Estimation: Projected improvements dengan timeframes
- Category-Specific Insights: Economic, Social, Environmental, dan Overall recommendations
- Confidence Scores: 75-92% confidence dengan statistical significance
Example Recommendations:
- β‘ Gas Fee Optimization: Reduce costs 35% via batch processing
- π° Revenue Growth: Increase avg booking 30% through premium packages
- β Customer Satisfaction: Improve ratings 25% dengan 24/7 support
- π± Renewable Energy: Increase environmental score 35 points
- π Carbon Reduction: Reduce footprint 40% via route optimization
- Anomaly Detection: Identify unusual transaction patterns
- Seasonal Trends: Detect booking seasonality untuk optimization
- Correlation Mining: Discover relationships between metrics
- K-means Clustering: Identify high/low performing locations
- Sentiment Evolution: Track customer sentiment trends over time
- Gas Fee Predictions: Estimate cost savings potential
- Customer Lifetime Value (CLV): Predictions dengan churn risk analysis
- Environmental Optimization: ROI-ranked improvement pathways
8 ML Pattern Types:
- Anomaly Detection (fraud detection, high-value customers)
- Seasonal Trends (peak/low season identification)
- Correlation Analysis (rating vs spending relationships)
- Location Clustering (performance-based grouping)
- Sentiment Trends (customer satisfaction trajectory)
- Gas Fee Patterns (optimal transaction timing)
- CLV Predictions (customer lifetime value forecasting)
- Environmental Optimization (ROI-ranked improvements)
- Save Unlimited Scenarios: Timestamp dan metadata tracking
- Side-by-Side Comparison: Compare any two scenarios
- Automatic Change Detection: Percentage calculations
- Color-Coded Indicators: Visual improvement/decline tracking
- localStorage Persistence: Scenarios saved across sessions
- Export Comparison Reports: For stakeholder presentations
Use Cases:
- Q1 vs Q2 performance tracking
- Before/After campaign analysis
- Different strategy comparisons
- Live Sepolia Testnet Data: Real-time Ethereum data via Infura
- Network Statistics: Current block, gas price, hash rate, difficulty
- Transaction Monitoring: Recent blockchain transactions
- Auto-Refresh Mode: Updates every 30 seconds
- Direct Etherscan Links: Deep dive into transactions
- Address Monitoring: Track specific wallet activities
API Endpoint:
https://sepolia.infura.io/v3/f8d248f838ec4f12b0f01efd2b238206
JSON-RPC Methods:
eth_blockNumber- Current block heighteth_gasPrice- Current gas priceeth_getBlockByNumber- Block data with transactionseth_getTransactionByHash- Transaction detailseth_getTransactionReceipt- Transaction status
- High-Quality Image Export: PNG, SVG, PDF formats
- Multi-Chart Export: Export multiple charts in one PDF
- Custom Resolution: 2x scale for professional quality
- Browser-Based: No server required
- Uses: html2canvas + jsPDF
- Auto-Save: localStorage auto-save on every data change
- Auto-Load: Persistent data across sessions
- CSV Import: Import data from Excel/CSV files
- Sample Data: 1-click demo data untuk instant explore
- Reset Function: Clear all data dengan confirmation dialog
- USD/IDR Toggle: Real-time currency conversion
- Accurate Exchange Rates: Daily updated rates
- Consistent Formatting: Proper currency symbols dan separators
- Global Applicability: Easy to add more currencies
- Bahasa Indonesia: Complete Indonesian language UI
- User-Friendly Guide: Step-by-step panduan penggunaan
- About App Section: Comprehensive app explanation
- FAQ Section: Common questions & answers
- Triple Bottom Line Chart dengan real-time metrics
- Sustainability Score indicator (0-100)
- Carbon Layer toggle untuk environmental tracking
- Interactive Leaflet maps dengan location markers
- Performance metrics per destination
- Carbon footprint visualization
- Intelligent sustainability advisor
- Actionable recommendations dengan priority scoring
- Impact estimation dan confidence scores
- 8 types of pattern detection
- Anomaly detection untuk fraud prevention
- Seasonal trends untuk optimization
- Save unlimited scenarios
- Side-by-side scenario comparison
- Visual change indicators
- Real-time Sepolia network monitoring
- Transaction tracking dengan gas metrics
- Direct Etherscan integration
- Framework: Next.js 15.3.4 (App Router)
- Language: TypeScript 5.8.3
- UI Library: React 19.1.0
- Styling: Tailwind CSS 3.4.1
- Components: Radix UI (shadcn/ui)
- Charts: Chart.js 4.5.0, Recharts 2.15.3
- Maps: Leaflet 1.9.4, React Leaflet 5.0.0
- 3D Graphics: Three.js 0.180.0, React Three Fiber 9.3.0
- Forms: React Hook Form 7.56.3 + Zod 3.24.4
- Export: html2canvas 1.4.1, jsPDF 3.0.3, XLSX 0.18.5
- Date Handling: date-fns 3.6.0
- File Processing: file-saver 2.0.5
- Animations: Framer Motion 12.12.1
- Notifications: Sonner 2.0.3
- Network: Ethereum Sepolia Testnet
- RPC Provider: Infura
- JSON-RPC: Direct Infura API integration
- Data Formats: Wei to Ether conversions
- State Management: React Hooks (useState, useEffect, useCallback)
- Storage: localStorage for persistence
- CSV Parsing: Built-in CSV parser
- Export Formats: PDF, XLSX, JSON
- Package Manager: npm
- Build Tool: Next.js built-in
- Type Checking: TypeScript strict mode
- Linting: ESLint
- Code Quality: depcheck 1.4.7
- Node.js 18.x atau lebih tinggi
- npm atau yarn
- Git
- Clone Repository
git clone https://github.com/yourusername/stc-impactviz.git
cd stc-impactviz- Install Dependencies
npm install
# atau
yarn install- Run Development Server
npm run dev
# atau
yarn dev- Open Browser
http://localhost:3000
- Build for Production
npm run build
npm start
# atau
yarn build
yarn start-
Load Demo Data
- Click button "Muat Data Demo" with "Rekomendasi" badge
- Instantly see full dashboard dengan realistic Bali tourism data
- 50 blockchain transactions, 100 bookings, 80 reviews
- Complete environmental metrics
-
Explore Features
- Navigate through 15 tabs:
- Overview, Economic, Social, Environmental
- Geographic, Green Metrics, ESG Reports
- AI Analytics, Live Simulation, Export
- Compare, AI Insights, ML Analytics, Blockchain
- Toggle Carbon Layer untuk environmental tracking
- Switch USD/IDR currency
- Navigate through 15 tabs:
-
Save Current Scenario
- Go to "Compare" tab
- Enter scenario name (e.g., "Q1 2024")
- Click "Save Scenario"
-
Generate AI Recommendations
- Go to "AI Insights" tab
- View sustainability health score
- See prioritized recommendations
- Each with impact estimation & confidence score
-
Analyze ML Patterns
- Go to "ML Analytics" tab
- View 8 types of detected patterns
- Filter by pattern type
- See confidence scores & metrics
-
Monitor Blockchain
- Go to "Blockchain" tab
- See live Sepolia transactions
- Monitor network stats
- Click transaction hashes β Etherscan
-
Compare Scenarios
- Go to "Compare" tab
- Select two scenarios
- Click "Compare Scenarios"
- See side-by-side metrics dengan % change
-
Export Data
- Go to "Export" tab
- Choose format: XLSX, PDF, JSON
- Download comprehensive reports
location, cost, duration, category
Ubud, 500000, 3, Hotel
Seminyak, 750000, 5, Resort
Canggu, 300000, 2, Hostel- Prepare CSV file dengan format:
location, cost, duration, category - Click "Upload CSV" button
- Select file
- Data automatically merged dengan sample data
- Use "Manual Input (Advanced)" card
- Fill forms for On-Chain, Off-Chain, atau Social data
- Submit each form untuk process data
- View results in dashboard
Tidak ada environment variables yang required untuk basic usage. Blockchain API sudah pre-configured dengan public Infura endpoint.
// src/lib/blockchain-api.ts
const INFURA_ENDPOINT = 'https://sepolia.infura.io/v3/f8d248f838ec4f12b0f01efd2b238206'// src/lib/sample-data.ts
export const STORAGE_KEY = 'stc-impactviz-data'// src/lib/currency.ts
export const CURRENCIES: Record<Currency, CurrencyConfig> = {
USD: { symbol: '$', rate: 1, locale: 'en-US' },
IDR: { symbol: 'Rp', rate: 15750, locale: 'id-ID' }
}import { exportChartAsImage, exportChartsAsPDF } from '@/lib/chart-export'
// Export single chart
await exportChartAsImage(elementRef, {
filename: 'sustainability-report',
format: 'png',
quality: 0.95,
scale: 2
})
// Export multiple charts to PDF
await exportChartsAsPDF(chartRefs, {
filename: 'quarterly-report',
title: 'Q1 2024 Sustainability Report'
})import {
fetchBlockchainData,
getTransaction,
monitorAddress,
getNetworkStats
} from '@/lib/blockchain-api'
// Fetch recent transactions
const { transactions, stats } = await fetchBlockchainData(10)
// Get specific transaction
const tx = await getTransaction('0x...')
// Monitor address
const txs = await monitorAddress('0x...', fromBlock)
// Get network stats
const stats = await getNetworkStats()import {
saveDataToStorage,
loadDataFromStorage,
parseCSVData
} from '@/lib/sample-data'
// Save data
saveDataToStorage(data)
// Load data
const data = loadDataFromStorage()
// Parse CSV
const parsed = parseCSVData(csvText)- Multi-user authentication & authorization
- Cloud data sync (Firebase/Supabase)
- Advanced notification system
- PWA support untuk mobile installation
- API integration dengan real blockchain networks (Mainnet)
- Advanced ML models (deep learning)
- Custom dashboard builder
- White-label customization
- Multi-language expansion (English, Spanish, Chinese)
- Mobile app (React Native)
- Enterprise features (multi-workspace, SSO)
- API marketplace integration
Kami sangat welcome untuk contributions! Silakan baca CONTRIBUTING.md untuk guidelines.
- Fork repository ini
- Create feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open Pull Request
- TypeScript strict mode
- ESLint configuration
- Prettier formatting
- Component-based architecture
This project is licensed under the MIT License - see the LICENSE file for details.
STC ImpactViz Development Team
- Product Owner: [Your Name]
- Lead Developer: [Your Name]
- UI/UX Designer: [Your Name]
- Data Scientist: [Your Name]
- Website: https://stc-impactviz.com
- Email: support@stc-impactviz.com
- GitHub Issues: Report Bug
- Discussions: GitHub Discussions
- Next.js Team - Amazing framework
- Vercel - Deployment platform
- Infura - Blockchain RPC provider
- shadcn/ui - Beautiful UI components
- Radix UI - Accessible component primitives
- Leaflet - Interactive maps
- Chart.js - Data visualization
Built with β€οΈ for sustainable tourism
Making tourism sustainability transparent, measurable, and actionable through blockchain technology.