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

> Explore the gods-eye-view project's configuration files. Discover JSON camera sources, Vite settings, and environment templates controlling data, bundling, and secrets.

- Repository: [Bilawal Sidhu/gods-eye-view](https://github.com/bilawalsidhu/gods-eye-view)
- Tags: api-reference
- Published: 2026-08-30

---

**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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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.

```javascript
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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/vite.config.js).*

## Build Tool and Environment Configuration

### Vite Configuration (vite.config.js)

The [`vite.config.js`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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.

```javascript
// .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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/vite.config.js).

```bash

# 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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/config/cctv_sources.shinjuku.json), [`config/cctv_sources.austin.json`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/config/cctv_sources.austin.json)) store camera metadata and URLs for geographic regions.
- **Vite configuration** ([`vite.config.js`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/vite.config.js) for build tooling, and [`package.json`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/config/cctv_sources.shinjuku.json) for Tokyo and [`config/cctv_sources.austin.json`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/vite.config.js). The [`package.json`](https://github.com/bilawalsidhu/gods-eye-view/blob/main/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.