# Surveilled A map of cameras in the world using OpenStreetMap overpass data. showcase image Check out the live website at [surveilled.quad4.io](https://surveilled.quad4.io) ## Disclaimer Data is fetched from OSM Overpass and may not be accurate or up to date as this data is community-sourced. ## Features - Draw a box to get cameras for that area - Measure distance between two points/cameras - Export or copy GeoJSON of cameras in an area - Customize Nominatim, Overpass, and Tile endpoints - No reliance on external CDNs or Google fonts - PWA installable - Mobile-friendly ## Quick Start ### Using Docker ```sh docker run -p 3000:3000 git.quad4.io/quad4-software/surveilled:latest ``` Then open your browser at `http://localhost:3000` ### Using Podman ```sh podman run -p 3000:3000 git.quad4.io/quad4-software/surveilled:latest ``` Then open your browser at `http://localhost:3000` ### Using PNPM ```sh pnpm config set @quad4:registry=https://git.quad4.io/api/packages/Quad4-Software/npm/ pnpm install -g @quad4/surveilled surveilled ``` Or with custom port and host: ```sh PORT=8080 HOST=0.0.0.0 surveilled ``` ## Development ### Prerequisites - Node.js `>=18.0.0` - pnpm `>=10.25.0` ### Setup ```sh git clone https://git.quad4.io/Quad4-Software/Surveilled cd Surveilled pnpm install ``` ### Task The project uses [Task](https://taskfile.dev/) for all development tasks. ``` | Task | Description | |---------------|---------------------------------------| | default | Show available tasks | | dev | Run development server | | build | Build the application | | package | Package the application | | publish | Publish to npm registry | | preview | Preview production build | | check | Run type checking | | lint | Run linter | | format | Format code | | clean | Clean build artifacts | | docker-build | Build Docker image | | docker-run | Run Docker container | | docker | Build and run Docker container | | podman-build | Build Podman image | | podman-run | Run Podman container | | podman | Build and run Podman container | | scan | Scan container image with trivy | | sbom | Generate SBOM with trivy | | version:minor | Bump version minor | | version:major | Bump version major | | setup | Setup development environment | | install | Install dependencies | | install:ci | Install dependencies for CI | example: task dev you might nee to set alias alias task=`go-task` ``` ## Building Container Image Uses Chainguard Images which are rootless and very minimal images. ### Using Docker ```sh task docker-build task docker-run ``` Or use the combined task: ```sh task docker ``` ### Using Podman ```sh task podman-build task podman-run ``` Or use the combined task: ```sh task podman ``` ## Contributing Send email to [team@quad4.io](mailto:team@quad4.io) with your feedback or any issues you may have. ## License [BSD 3-Clause](LICENSE)