Intelligent tourism data aggregation, normalization, and visualization platform with real-time collaboration
Features โข Quick Start โข API Docs โข Architecture โข Contributing
STC DataHub adalah platform canggih untuk agregasi, normalisasi, dan visualisasi data pariwisata dari berbagai sumber. Dilengkapi dengan AI-powered insights, real-time collaboration, dan interactive visualizations yang membuat data tourism menjadi hidup!
- ๐ Real-time Collaboration - Multi-user collaboration powered by SpacetimeDB
- ๐ค AI-Powered Insights - Smart recommendations & data quality analysis
- ๐บ๏ธ Interactive Maps - Leaflet-based geographic visualization with heatmaps
- ๐ Custom Dashboards - Drag-and-drop widget builder
- ๐ Multi-language - Full i18n support (English & Indonesian)
- ๐ REST API - Public API endpoints for data sharing
- ๐ฆ 7-Format Export - CSV, JSON, Excel, SQL, XML, NDJSON, Parquet
5-stage intelligent pipeline:
- Fetch - Connect to real data sources (REST Countries, OpenStreetMap, Open Brewery)
- Validate - Schema validation & data quality checks
- Normalize - Intelligent field mapping & standardization
- Enrich - Add metadata, geocoding, categorization
- Store - Persist to database with versioning
- Interactive Maps - Pin-based geographic visualization with Leaflet
- Heatmap Analysis - Density visualization for tourism hotspots
- Charts & Graphs - Distribution, trends, and comparative analytics
- Before/After Preview - Data transformation showcases
- Real-time Feed - Live processing intelligence updates
- Multi-criteria Filtering - Search, category, country, price, rating filters
- Data Export - 7 formats with filtered data support
- AI Recommendations - Pattern detection & actionable insights
- Custom Dashboards - Personalized widget layouts
- Real-time Collaboration - See other users & live changes
- Public REST API - Share data via HTTP endpoints
Full UI translation in:
- ๐ฌ๐ง English
- ๐ฎ๐ฉ Bahasa Indonesia
- Node.js 18+
- npm/yarn/pnpm
- SpacetimeDB CLI (optional, for collaboration features)
# Clone repository
git clone https://github.com/yourusername/stc-datahub.git
cd stc-datahub
# Install dependencies
npm install
# Run development server
npm run devOpen http://localhost:3000 ๐
For real-time collaboration features:
# Install SpacetimeDB CLI
curl --proto '=https' --tlsv1.2 -sSf https://install.spacetimedb.com | sh
# Start local SpacetimeDB server
spacetime start
# Publish module
cd spacetime-server
spacetime publish stc-datahub --clear-database
# Module will auto-connect from Next.js app- API Documentation - REST API endpoints & usage
- Architecture Overview - Technical design & data flow
- Contributing Guide - How to contribute
- Deployment Guide - Production deployment
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- shadcn/ui - Component library
- Recharts - Data visualization
- Leaflet - Interactive maps
- react-grid-layout - Dashboard builder
- i18next - Internationalization
- SpacetimeDB - Real-time database & collaboration
- REST API - Data sharing endpoints
- Real Data Sources:
- REST Countries API
- OpenStreetMap Overpass API
- Open Brewery DB
- Custom pattern detection engine
- Data quality analyzer
- Smart recommendations system
flowchart TD
A["Register Source"] --> B["Fetch"]
B --> C["Validate robots.txt & License"]
C --> D["Normalize via Mapping Template"]
D --> E["Enrich Web3 Fields (optional)"]
E --> F["Store Raw + Normalized"]
F --> G["Provenance Log"]
G --> H["Preview & Download"]
flowchart TD
A[๐ฉโ๐ป Users\nResearchers / Devs / Communities] --> B[๐ STC DataHub\nDiscover ยท Fetch ยท Normalize ยท Store]
C[Kaggle\nGov Portals\ndata.go.id] --> B
D[Garuda Kemdikbud\nAcademic Repos] --> B
E[OpenStreetMap\nInsideAirbnb\nOther APIs] --> B
B --> F[๐ Analytics & Insights\nDashboards, Reports]
B --> G[๐ Research & Education\nOpen Data for Academia]
B --> H[๐ Web3 Ecosystem\nSmart Contracts, dApps, NFT Tourism]
- Destination Discovery - Find and analyze tourism attractions
- Market Research - Compare destinations, pricing, ratings
- Data Standardization - Normalize disparate data sources
- Geographic Analysis - Heatmaps and spatial distributions
- Trend Analysis - Rating trends, pricing patterns
- Quality Control - Data completeness and accuracy checks
- Team Workflows - Real-time multi-user data processing
- Shared Insights - Collaborative analysis and annotations
- Live Updates - See changes as they happen
stc-datahub/
โโโ src/
โ โโโ app/ # Next.js App Router
โ โ โโโ api/ # API routes
โ โ โ โโโ data-share/ # Public data API
โ โ โ โโโ stats/ # Statistics API
โ โ โ โโโ proxy/ # External API proxy
โ โ โโโ layout.tsx # Root layout
โ โ โโโ page.tsx # Main dashboard
โ โโโ components/
โ โ โโโ dashboard/ # Dashboard components
โ โ โโโ visualization/ # Charts, maps, heatmaps
โ โ โโโ collaboration/ # Real-time features
โ โ โโโ ui/ # shadcn/ui components
โ โโโ lib/
โ โ โโโ real-data-sources.ts # API connectors
โ โ โโโ data-export-utils.ts # Export utilities
โ โ โโโ ai-insights-engine.ts # AI analysis
โ โ โโโ i18n.ts # Translations
โ โโโ spacetime_module_bindings/ # SpacetimeDB client
โ โโโ hooks/ # Custom React hooks
โโโ spacetime-server/
โ โโโ src/
โ โโโ lib.rs # SpacetimeDB Rust module
โโโ public/ # Static assets
โโโ docs/ # Additional documentation
Fetch tourism data with filtering & pagination.
# Example
curl "http://localhost:3000/api/data-share?category=hotel&country=Indonesia&page=1&limit=10"Get aggregated statistics.
curl "http://localhost:3000/api/stats"See API_DOCS.md for complete documentation.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- SpacetimeDB - Real-time database infrastructure
- shadcn/ui - Beautiful component library
- Leaflet - Open-source mapping
- REST Countries - Country data API
- OpenStreetMap - Geographic data
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@stcdatahub.com
- Additional data source connectors
- Machine learning model integration
- Advanced data transformation rules
- Team workspaces & permissions
- Mobile app (React Native)
- GraphQL API
- Data versioning & time travel
- Export scheduling & automation
Made with โค๏ธ by the STC DataHub Team
โญ Star us on GitHub if you find this project useful!