Giới thiệu ứng dụng Placemark
- Placemark là một ứng dụng web cho phép nhập, tạo, xuất, trực quan hóa và xuất bản dữ liệu địa không gian.
- Hỗ trợ nhiều định dạng dữ liệu địa không gian, các thao tác chỉnh sửa dựa trên thuật toán (ví dụ: buffering) và các thao tác dựa trên vẽ.
- Có nhiều video YouTube sử dụng công cụ này, và trên trang web đã được lưu trữ có các tài liệu marketing trước đây.
Lưu ý về bản phát hành mã nguồn mở ban đầu
- Đây là bản phát hành mã nguồn mở đầu tiên của codebase này; có thể hỗ trợ phần thiết lập, nhưng không thể cung cấp hỗ trợ tích hợp end-to-end.
- Đây là một ứng dụng web phức tạp và hoạt động trong môi trường nơi nó được tạo ra, nhưng không phải môi trường nào cũng chạy được (ví dụ: gần như chắc chắn không chạy trên Windows).
- Hoan nghênh các PR giúp việc thiết lập trên môi trường khác dễ dàng hơn, biến các tính năng thành tùy chọn, hoặc các cải tiến/sửa lỗi khác.
Tech stack
- Có thể xem ghi chú về tech stack của ứng dụng trong
docs/architecture.md.
Chạy bằng Docker
- Có ví dụ file Docker, và có thể xem chi tiết trong
docs/docker.
Chạy trên Render
- Được cấu hình bởi file
render.yaml, và việc host trên Render có thể là cách nhanh nhất để chạy.
- Cũng có thể hoạt động trên các thiết lập hosting tương tự như Railway, Heroku và Flightcontrol.
Cài đặt
- Dự án được xây dựng bằng yarn, và phiên bản yarn được kiểm thử gần nhất là
1.22.19.
- Nếu cài bằng npm hoặc trình quản lý gói khác, có thể phát sinh các dependency khác.
Biến môi trường
- Trong quá trình phát triển, ứng dụng đọc file
.env, còn ở môi trường production thì cần các biến môi trường.
- Ứng dụng kiểm tra biến môi trường khi khởi động, nên nếu thiếu biến thì có thể bị crash.
- Danh sách biến môi trường cần thiết có thể xem trong
app/lib/env_server.ts và app/lib/env_client.ts.
Biến môi trường bắt buộc và tùy chọn
- Bắt buộc: GitHub, Replicache
- Tùy chọn: Posthog, Cloudflare, Postmark, WorkOS, Stripe, CampaignMonitor, Logtail
- Với cài đặt self-hosted, một số dịch vụ như Stripe có thể không cần thiết, và có thể biến chúng thành tùy chọn.
Hạ tầng
- Placemark phụ thuộc vào hai máy chủ: ứng dụng (repository này) và cơ sở dữ liệu Postgres 14 (hoặc mới hơn).
Tên miền
- Trên web, Placemark được cung cấp dưới ba tên miền:
app.placemark.io, api.placemark.io, API
- API được phục vụ từ cùng web server với ứng dụng, và sử dụng Cloudflare Worker để proxy request từ
api.placemark.io sang app.placemark.io.
Kiểm thử SSL cục bộ
- Cần thiết khi phải kiểm thử các tính năng chỉ hoạt động dưới SSL (ví dụ: kiểm thử định vị địa lý trên iPhone).
- Sử dụng
tailscale cert, chuyển chứng chỉ vào thư mục này rồi chạy caddy start.
Sử dụng Stripe
- Stripe đang trở thành một dependency tùy chọn của dự án này.
- Webhook proxy nằm ở
./_scripts/webhook-proxy.js và có thể chạy tùy chọn.
Ý kiến của GN⁺
- Placemark là một ứng dụng web mạnh mẽ, cung cấp nhiều tính năng cần thiết để xử lý dữ liệu địa không gian, hữu ích cho các chuyên gia GIS hoặc nhà phát triển.
- Được phát hành dưới dạng mã nguồn mở nên có thể nhận đóng góp từ cộng đồng, đồng thời có thể được cải thiện để sử dụng trong nhiều môi trường khác nhau.
- Có thể dễ dàng triển khai và chạy bằng các công cụ container hóa như Docker, đồng thời có lợi thế triển khai nhanh qua các dịch vụ cloud hosting.
1 bình luận
Ý kiến trên Hacker News