Einführung in die Placemark-Anwendung
- Placemark ist eine Webanwendung zum Importieren, Erstellen, Exportieren, Visualisieren und Veröffentlichen von Geodaten.
- Sie unterstützt verschiedene Geodatenformate sowie algorithmusbasierte Bearbeitungsvorgänge (z. B. Buffering) und zeichenbasierte Arbeiten.
- Es gibt viele YouTube-Videos zur Nutzung dieses Tools, und auf der archivierten Website finden sich frühere Marketingmaterialien.
Hinweise zur ersten Open-Source-Veröffentlichung
- Dies ist die erste Open-Source-Veröffentlichung dieser Codebasis; Hilfe bei der Einrichtung ist möglich, aber End-to-End-Integrationssupport kann nicht angeboten werden.
- Es handelt sich um eine komplexe Webanwendung, die in der Umgebung funktioniert, in der sie entwickelt wurde, aber nicht in jeder Umgebung läuft (z. B. unter Windows mit hoher Wahrscheinlichkeit nicht).
- PRs, die die Einrichtung in anderen Umgebungen erleichtern, Funktionen optional machen oder sonstige Verbesserungen und Fehlerbehebungen liefern, sind willkommen.
Technischer Stack
- Hinweise zum technischen Stack der Anwendung finden sich in
docs/architecture.md.
Ausführung mit Docker
- Es gibt ein Beispiel für Docker-Dateien; Details finden sich unter
docs/docker.
Ausführung auf Render
- Die Konfiguration erfolgt über die Datei
render.yaml, und Hosting auf Render dürfte der schnellste Weg zur Inbetriebnahme sein.
- Es könnte auch in ähnlichen Hosting-Setups wie Railway, Heroku oder Flightcontrol funktionieren.
Installation
- Das Projekt wurde mit yarn aufgebaut; die zuletzt getestete yarn-Version ist
1.22.19.
- Bei einer Installation mit npm oder einem anderen Paketmanager können andere Abhängigkeiten auftreten.
Umgebungsvariablen
- Während der Entwicklung wird eine
.env-Datei eingelesen, in der Produktionsumgebung sind Umgebungsvariablen erforderlich.
- Beim Start werden die Umgebungsvariablen geprüft; fehlen Variablen, kann die Anwendung abstürzen.
- Die Liste der erforderlichen Umgebungsvariablen findet sich in
app/lib/env_server.ts und app/lib/env_client.ts.
Erforderliche und optionale Umgebungsvariablen
- Erforderlich: GitHub, Replicache
- Optional: Posthog, Cloudflare, Postmark, WorkOS, Stripe, CampaignMonitor, Logtail
- Bei einer Self-Hosting-Installation werden einige Dienste wie Stripe möglicherweise nicht benötigt, und es ist möglich, sie optional zu machen.
Infrastruktur
- Placemark hängt von zwei Servern ab: der Anwendung (dieses Repository) und einer Postgres-14-Datenbank (oder höher).
Domain
- Im Web wird Placemark unter drei Domains bereitgestellt:
app.placemark.io, api.placemark.io, API
- Die API wird vom selben Webserver wie die App bereitgestellt; mithilfe eines Cloudflare Workers werden Anfragen von
api.placemark.io an app.placemark.io weitergeleitet.
Lokale SSL-Tests
- Dies ist erforderlich, wenn Funktionen getestet werden müssen, die nur unter SSL arbeiten (z. B. Geolokalisierungstests auf dem iPhone).
- Verwenden Sie
tailscale cert, verschieben Sie das Zertifikat in dieses Verzeichnis und führen Sie dann caddy start aus.
Verwendung von Stripe
- Stripe wird zu einer optionalen Abhängigkeit dieses Projekts.
- Ein Webhook-Proxy befindet sich unter
./_scripts/webhook-proxy.js und kann optional ausgeführt werden.
Meinung von GN⁺
- Placemark ist eine leistungsfähige Webanwendung mit vielfältigen Funktionen für die Arbeit mit Geodaten und damit nützlich für GIS-Fachleute und Entwickler.
- Da es als Open Source verfügbar ist, kann es Beiträge aus der Community erhalten, und Verbesserungen für den Einsatz in verschiedenen Umgebungen sind möglich.
- Mit Containerisierungstools wie Docker lässt es sich leicht bereitstellen und ausführen, und über Cloud-Hosting-Dienste kann es schnell ausgerollt werden.
1 Kommentare
Hacker-News-Kommentare