Configuration Files in the gods-eye-view Project: Complete File Reference

The gods-eye-view repository relies on five core configuration files—including JSON camera sources, Vite build settings, and environment templates—to control data ingestion, bundling behavior, and runtime secrets.

The gods-eye-view visualization platform uses a modular configuration architecture that separates geographic data sources from build tooling. Understanding these configuration files is essential for customizing CCTV camera layouts, managing API credentials, and modifying the development workflow according to the bilawalsidhu/gods-eye-view source code.

CCTV Data Source Configuration Files

The application loads external CCTV metadata through dedicated JSON files stored in the config/ directory. These files supply camera geometry, streaming URLs, and spatial metadata required for rendering street-level panoramas.

Shinjuku Camera Sources (config/cctv_sources.shinjuku.json)

The config/cctv_sources.shinjuku.json file defines the CCTV camera network for Tokyo's Shinjuku district. It contains camera identifiers, coordinates, and endpoint URLs that the visualization engine consumes to render the 3D scene.

Austin Camera Sources (config/cctv_sources.austin.json)

Located at config/cctv_sources.austin.json, this file provides equivalent configuration for Austin, Texas. Developers can switch between geographic datasets by importing the appropriate JSON module.

import shinjukuSources from '../config/cctv_sources.shinjuku.json' assert { type: 'json' };

function getCameraById(id) {
  return shinjukuSources.cameras.find(cam => cam.id === id);
}

The import uses native JSON module syntax supported by Vite as configured in vite.config.js.

Build Tool and Environment Configuration

Vite Configuration (vite.config.js)

The vite.config.js file governs the build pipeline, specifying entry points, plugins, and development server settings. This configuration tells Vite how to bundle JavaScript modules, handle static assets, and proxy API requests during local development.

Environment Variables (.env.example)

The .env.example file serves as a template for runtime secrets and API keys. Developers must copy this file to .env and populate it with actual values—such as OpenSky authentication tokens—without committing sensitive data to version control.

// .env (created from .env.example) contains OPENSKY_API_KEY=your_key
const apiKey = import.meta.env.VITE_OPENSKY_API_KEY;

fetch(`https://opensky-network.org/api/states/all?icao24=${aircraft}`, {
  headers: { Authorization: `Bearer ${apiKey}` }
});

Vite automatically exposes variables prefixed with VITE_ via import.meta.env.

Package Configuration (package.json)

package.json declares the project's Node.js dependencies—including Cesium and three-js—and defines npm scripts for testing, linting, and building. The dev script referenced in this file launches the Vite development server using settings defined in vite.config.js.


# Install dependencies

npm install

# Start the development server (uses vite.config.js)

npm run dev

Repository Management Configuration

Version Control Exclusions (.gitignore)

While not a runtime configuration file, .gitignore shapes repository behavior by excluding generated files, node_modules, and local .env files from Git tracking. This prevents accidental commits of sensitive credentials and build artifacts.

Summary

  • CCTV source files (config/cctv_sources.shinjuku.json, config/cctv_sources.austin.json) store camera metadata and URLs for geographic regions.
  • Vite configuration (vite.config.js) controls bundling, asset handling, and development server proxy settings.
  • Environment templates (.env.example) provide the blueprint for runtime secrets and API authentication, consumed via import.meta.env.
  • Package manifest (package.json) defines dependencies and CLI scripts for building and running the application.
  • Git exclusions (.gitignore) protect sensitive files from version control while maintaining repository hygiene.

Frequently Asked Questions

What configuration files does gods-eye-view use?

The gods-eye-view project uses five primary configuration files: two JSON files for CCTV sources (Shinjuku and Austin), .env.example for environment variables, vite.config.js for build tooling, and package.json for dependency management. These files control data ingestion, build processes, and runtime secrets.

How do I set up environment variables for gods-eye-view?

Copy .env.example to .env in the root directory and fill in the actual values for API keys like OPENSKY_API_KEY. Vite automatically exposes any variable prefixed with VITE_ to the application via import.meta.env, allowing secure access to secrets without exposing them in source code.

Where are the CCTV camera sources defined?

Camera sources are defined in config/cctv_sources.shinjuku.json for Tokyo and config/cctv_sources.austin.json for Texas. These JSON files contain camera IDs, coordinates, and streaming URLs that the visualization engine imports directly using ES module syntax.

How does the build system work in gods-eye-view?

The project uses Vite as its build tool, configured through vite.config.js. The package.json defines scripts like npm run dev that invoke Vite with the specified configuration, handling module bundling, asset optimization, and development server setup including API proxying.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →