InícioExperiênciaProjetosPesquisa & FormaçãoCompetênciasContatoCurrículo
Voltar aos projetos

Web GIS · Bolsa CNPq · Em desenvolvimento

Observatório Grilagem de Terras Ariovaldo Umbelino de Oliveira

Plataforma acadêmica para importar, visualizar e validar dados geoespaciais relacionados à grilagem de terras.

Bolsista e Principal Desenvolvedor

Projeto acadêmico ativo com bolsa CNPq.

Contexto e problema

  • O sistema organiza camadas e casos geoespaciais para apoiar análise territorial.

Minha contribuição

Sou bolsista e o principal desenvolvedor desse projeto acadêmico financiado por bolsa CNPq, que dá suporte a pesquisadores que estudam grilagem de terras. Construí a interface em Next.js e a API em NestJS, que cuida da parte mais pesada: validar e importar arquivos geoespaciais (shapefiles, GeoJSON) e persistir tudo com PostGIS sobre o PostgreSQL — escolhi PostGIS justamente pela robustez em consultas espaciais complexas, que é o núcleo do sistema. Os mapas são renderizados com MapLibre, por ser leve e open-source. Como processar um arquivo espacial grande de forma síncrona travaria a aplicação, separei essa etapa em fila com BullMQ, guardando os arquivos originais em MinIO (compatível com S3) antes do processamento — assim a importação não bloqueia o resto do sistema e dá pra reprocessar se algo falhar no meio do caminho. Tudo roda em containers Docker, o que facilita reproduzir o ambiente entre mim e o restante da equipe acadêmica. O projeto ainda está em desenvolvimento: o deploy de produção não foi concluído, e integrações externas e reforços de segurança seguem no backlog.

Stack

Next.js

Interface web de importação e visualização de camadas.

NestJS

API, autenticação e orquestração da importação de arquivos.

PostGIS

Persistência e consultas geoespaciais sobre PostgreSQL.

MapLibre

Renderização dos mapas na interface.

BullMQ

Fila de processamento assíncrono dos arquivos espaciais.

MinIO

Armazenamento de objetos para os arquivos originais.

Docker

Padronização do ambiente entre desenvolvimento e equipe.