gsv_gallery/README.md

74 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

2026-07-06 02:31:59 +02:00
# Street View Gallery
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
Street View Gallery is an enterprise-grade, geospatial visualization platform designed to present custom 360-degree panoramic street view imagery publicly accessible. Built with Next.js and Prisma, it serves as a secure, high-performance, independent alternative to commercial platform ecosystems.
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
The platform aims organizations and individuals to show their projects which recorded for Google Street View and makes it publicly accessible and explore from single lightweight UI.
2026-07-22 19:20:15 +02:00
![Street View Gallery](https://www.atakanozban.com/Content/uploads/projects-media/f6a2a12f608c41559df999281315ea48.png)
2026-07-06 02:31:59 +02:00
## Quick Start (Docker run)
For evaluation or localized testing environments, execute the following command:
2026-02-20 21:15:23 +01:00
```bash
2026-07-12 02:08:48 +02:00
docker run -d -p 3000:3000 \
-e DATABASE_URL="file:./dev.db" \
-e ADMIN_USERNAME="admin" \
-e ADMIN_PASSWORD="your_password" \
-e SESSION_SECRET="your_session_secret" \
-e GOOGLE_MAPS_API_KEY="your_api_key" \
--name gsv_gallery atakanozban/gsv_gallery:latest
2026-07-06 02:31:59 +02:00
```
## Production Deployment (Docker Compose)
For production-grade environments requiring data persistence, network isolation, and high availability, utilize the orchestrated configuration below:
```yaml
services:
gsv_gallery:
image: atakanozban/gsv_gallery:latest
container_name: gsv_gallery
ports:
- "3000:3000"
environment:
- PORT=3000
- DATABASE_URL=file:/app/data/prod.db
- GOOGLE_MAPS_API_KEY=YOUR_GOOGLE_MAPS_API_KEY_HERE
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=YOUR_SECURE_PASSWORD_HERE
2026-07-12 02:08:48 +02:00
- SESSION_SECRET="your_session_secret"
2026-07-06 02:31:59 +02:00
volumes:
- ./data:/app/data
restart: unless-stopped
2026-02-20 21:15:23 +01:00
```
2026-07-06 02:31:59 +02:00
# Configuration & Environment Variables
The platform utilizes environment variables for backend initialization. Ensure these are securely provisioned during container runtime orchestration:
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
| Variable | Description | Requirement |
| :--- | :--- | :--- |
| `DATABASE_URL` | The PostgreSQL connection string utilized by the Prisma ORM layer for transaction logs and metadata persistence. | **Required** |
2026-07-12 02:08:48 +02:00
| `SESSION_SECRET` | Why you need it: After you log in, the app creates a signed cookie so it knows you're an admin. This secret is the key that signs and verifies that cookie. If someone doesn't know it, they can't forge a valid admin session. | **Required**
2026-02-20 21:15:23 +01:00
2026-07-12 02:08:48 +02:00
### Notes
1- Client-Side Integrations: The platform eliminates compile-time API dependencies. The Google Maps JavaScript API payload is resolved and securely injected via dynamic runtime state mechanics (/api/config) post-initialization.
2- Session Secret Generation: `node -e console.log(require('crypto').randomBytes(32).toString('hex'))` Must be at least 32 characters. Keep it secret.
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
# Core Architecture & Features
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
- Interactive Geospatial Dashboard: A unified, map-centric interface engineered to monitor, display, and review distinct panoramic tracks with optimized multi-layer rendering.
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
- Telemetry & GPX Integration: Automated, server-side parsed polyline extraction from standard GPX track logs, calculating accurate cumulative distances using high-precision spherical geometry algorithms.
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
- Synchronized Dual-View Navigation: Fully synchronized state management linking immersive, full-screen street view iframe panoramas with active tracking mini-maps.
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
- Responsive Enterprise-Ready UI: Highly responsive web design layout optimized for both command-center displays and cross-platform mobile devices out of the box.
2026-02-20 21:15:23 +01:00
2026-07-06 02:31:59 +02:00
# Support
2026-02-20 21:15:23 +01:00
2026-07-06 02:48:21 +02:00
If you need more help with Street View Gallery, you can ask for support in [Gitea Issues](https://git.atakanozban.com/atakan/gsv_gallery/issues) or direct support through [mail](mailto:contact@atakanozban.com).
2026-09-03 02:39:15 +02:00
2026-09-03 02:39:45 +02:00
### [Support my work 💙](https://sponsor.atakanozban.com)