Introdução ao aplicativo Placemark
- Placemark é um aplicativo web que permite importar, criar, exportar, visualizar e publicar dados geoespaciais.
- Suporta vários formatos de dados geoespaciais, operações de edição baseadas em algoritmos (por exemplo, buffering) e tarefas baseadas em desenho.
- Há muitos vídeos no YouTube usando essa ferramenta, e o site arquivado contém materiais de marketing anteriores.
Observações sobre a versão inicial open source
- Esta é a versão inicial open source desta base de código; é possível ajudar com a configuração, mas não é possível oferecer suporte completo de integração ponta a ponta.
- É uma aplicação web complexa e funciona no ambiente em que foi escrita, mas não necessariamente em todos os ambientes (por exemplo, quase certamente não funciona no Windows).
- PRs para facilitar a configuração em outros ambientes, tornar recursos opcionais ou trazer outras melhorias e correções são bem-vindos.
Stack técnica
- Notas sobre a stack técnica da aplicação podem ser encontradas em
docs/architecture.md.
Execução com Docker
- Há um exemplo de arquivo Docker, e os detalhes podem ser vistos em
docs/docker.
Execução no Render
- A configuração é feita pelo arquivo
render.yaml, e hospedar no Render pode ser a forma mais rápida de executar.
- Também pode funcionar em configurações de hospedagem semelhantes, como Railway, Heroku e Flightcontrol.
Instalação
- O projeto foi construído usando yarn, e a última versão do yarn testada foi
1.22.19.
- Ao instalar com npm ou outro gerenciador de pacotes, podem surgir dependências diferentes.
Variáveis de ambiente
- Durante o desenvolvimento, o arquivo
.env é lido, e no ambiente de produção são necessárias variáveis de ambiente.
- As variáveis de ambiente são verificadas na inicialização, portanto, se alguma estiver faltando, a aplicação pode falhar.
- A lista de variáveis de ambiente necessárias pode ser consultada em
app/lib/env_server.ts e app/lib/env_client.ts.
Variáveis de ambiente obrigatórias e opcionais
- Obrigatórias: GitHub, Replicache
- Opcionais: Posthog, Cloudflare, Postmark, WorkOS, Stripe, CampaignMonitor, Logtail
- Em instalações self-hosted, alguns serviços como o Stripe podem não ser necessários, e é possível torná-los opcionais.
Infraestrutura
- O Placemark depende de dois servidores: a aplicação (este repositório) e um banco de dados Postgres 14 (ou superior).
Domínio
- Na web, o Placemark é servido sob três domínios:
app.placemark.io, api.placemark.io, API
- A API é servida no mesmo servidor web do app, e um Cloudflare Worker é usado para fazer proxy das requisições de
api.placemark.io para app.placemark.io.
Teste local com SSL
- Isso é necessário ao testar recursos que só funcionam sob SSL (por exemplo, teste de geolocalização no iPhone).
- Use
tailscale cert, mova o certificado para este diretório e depois execute caddy start.
Uso do Stripe
- O Stripe está se tornando uma dependência opcional deste projeto.
- O proxy de webhook está em
./_scripts/webhook-proxy.js e pode ser executado opcionalmente.
Opinião do GN⁺
- O Placemark é uma aplicação web poderosa que oferece vários recursos necessários para lidar com dados geoespaciais, sendo útil para especialistas em GIS e desenvolvedores.
- Por estar disponível como open source, pode receber contribuições da comunidade e ser melhorado para uso em diversos ambientes.
- Com ferramentas de conteinerização como Docker, é possível implantar e executar com facilidade, além da vantagem de implantação rápida por meio de serviços de hospedagem em nuvem.
1 comentários
Comentários do Hacker News