Skip to content

Rexschwert/worldwideview

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

426 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

WorldWideView

The Open-Source, Plugin-Driven Geospatial Intelligence Engine

A modular situational awareness platform designed to ingest live data streams and render them as interactive, cinematic layers on a high-fidelity CesiumJS 3D globe.

CI Build Codecov NPM Version GitHub Release Contributors
Next.js 16 CesiumJS TypeScript Strict Docker License: MIT Discord PRs Welcome

WorldWideView Interface


WorldWideView is a real-time geospatial engine visualizing live global data on an interactive 3D globe. Utilizing a dynamic "All-Bundle" plugin architecture, independent data sources—like live aircraft, maritime vessels, or conflict events—are ingested and rendered decoupled from the core 3D viewer.

Key Features

  • "All-Bundle" Plugin Architecture: Ingest any data source dynamically without touching the core platform.
  • High-Fidelity 3D Rendering: Google Photorealistic 3D Tiles and LOD modeling powered by CesiumJS.
  • Real-Time Data Pipeline: High-frequency WebSocket updates managed by a custom DataBus.
  • Advanced Entity Management: Automatic horizon culling, chunked primitive rendering, and 3D stacking/spiderification.
  • Marketplace Integration: Download and sync new plugins directly from the UI.

Core Technologies

  • Frontend: Next.js 16 (App Router), React 19, TypeScript 5
  • 3D Engine: CesiumJS + Resium (Google Photorealistic 3D Tiles)
  • State Management: Zustand
  • Event Bus: Custom typed DataBus for high-frequency WebSocket updates
  • Database: PostgreSQL via Prisma 7
  • Deployment: Docker multi-stage build, Coolify

Project Architecture

WorldWideView separates the data acquisition layer from the frontend rendering loop, using a real-time event bus to bridge them.

flowchart TD
    subgraph Data Sources
    A[Public APIs] -->|Poll| B[Data Engine Seeders]
    C[Microservices] -->|Stream| B
    end

    subgraph Frontend Pipeline
    B -->|WebSocket /stream| D[DataBus & WsClient]
    D -->|Hydrate| E[Zustand Store]
    E -->|Memoized Entities| F[Entity Renderer]
    F -->|Primitives| G[CesiumJS Globe]
    end

    subgraph Plugins
    H[Plugin Registry] -->|Load| I[Dynamic Import CDNs]
    end
    
    H -.-> D
Loading

Prerequisites

Before running the application, ensure you have the following installed:

  • Node.js (v18+)
  • pnpm (v9+)
  • Docker (for self-hosting or full local dev)
  • PostgreSQL (or rely on the coolify-db / local compose container)

Quick Start (Self-Hosting)

WorldWideView uses a multi-stage Dockerfile designed for standalone output. To deploy instantly on your own server:

Mac/Linux:

mkdir worldwideview && cd worldwideview
curl -fsSL https://raw.githubusercontent.com/silvertakana/worldwideview/main/setup.sh | bash

Windows (PowerShell):

mkdir worldwideview; cd worldwideview
Invoke-WebRequest -Uri https://raw.githubusercontent.com/silvertakana/worldwideview/main/setup.ps1 -UseBasicParsing | Invoke-Expression

Note

Ensure you connect a PostgreSQL database via the DATABASE_URL environment variable for production deployments.

Quick Start (Local Development)

To run the source code locally for contributing or developing:

git clone https://github.com/silvertakana/worldwideview.git
cd worldwideview
pnpm install
pnpm run setup   # generates .env.local with AUTH_SECRET
pnpm run dev:all # boots the UI, cache layers, and the data engine

Visit http://localhost:3000 to see the live globe.

Project Structure

The codebase utilizes a pnpm monorepo configuration:

worldwideview/
├── src/                  # Core frontend app
│   ├── app/              # Next.js App Router (pages, API routes)
│   ├── components/       # Shared UI, Globe panels, and 3D layouts
│   ├── core/             # DataBus, Polling, PluginManager, Store
│   └── plugins/          # Built-in plugins and registry logic
├── packages/             # Monorepo packages
│   ├── wwv-plugin-sdk/   # SDK interfaces and manifest schemas
│   └── wwv-plugin-*/     # Individual plugins & their backends
├── prisma/               # Database schemas & migrations
└── .agents/              # Agent rules, workflows, and documentation

Plugin Ecosystem

WorldWideView operates on an open-core philosophy. The platform itself is data-agnostic; all data sources are dynamically imported as plugins at runtime.

  • Plugin Quickstart Guide: Learn how to scaffold and link your first plugin using the @worldwideview/cli.
  • Advanced Plugin Guide: Deep dive into microservice data seeders, WebSockets, complex 3D rendering, and Marketplace publishing.

Repository Ecosystem

WorldWideView is distributed across several specialized repositories:

  1. worldwideview (This Repo): Main frontend, CesiumJS rendering engine, and core plugin framework.
  2. wwv-data-engine: Open-source community data backend for polling public APIs.
  3. worldwideview-plugins: First-party maintained plugins.
  4. worldwideview-marketplace: The web application driving the plugin directory.
  5. worldwideview-web: Marketing and landing site.

Development & Workflow

  • Branching & Commits: We strictly enforce Conventional Commits (feat:, fix:, refactor:). Every commit should utilize our semantic versioning [/commit] workflow.
  • Coding Standards: We emphasize vanilla CSS (no Tailwind), strict TypeScript 5, and file modularity (max 150 lines per file).
  • Testing: We use Vitest with jsdom. All new core logic should be accompanied by tests, running via pnpm test.

See Docs: Development and Docs: Testing for more details.

Contributing

We welcome community contributions! Please review our coding standards and PR processes before submitting code. For detailed instructions on local development and setting up your environment, see our CONTRIBUTING.md.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation Index

Explore our comprehensive documentation suite for detailed engineering insights:

  • Project Overview: High-level value proposition and technology stack.
  • Architecture: DataBus event stream and Zustand state management.
  • Build System: Monorepo structure, Next.js standalone output, and Docker builds.
  • Development: Coding conventions and common implementation patterns.
  • Testing: Vitest setup and coverage targets.
  • Deployment: Coolify integration and persistent volumes.
  • Files Catalog: Comprehensive mapping of core source files.

Important

Fair-Use Notice: This application may contain copyrighted material the use of which has not always been specifically authorized by the copyright owner. Such material is made available for educational purposes, situational awareness, and to advance understanding of global events under "fair use" (Section 107 of the US Copyright Law).

About

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 83.8%
  • CSS 9.9%
  • JavaScript 4.7%
  • Shell 0.7%
  • PowerShell 0.6%
  • Dockerfile 0.3%