Skip to content

Repository files navigation

Plataforma Documental: Core

Plataforma open-source para criação de sites focados em geo-narrativas e documentação de direitos humanos

Use este modelo Abrir no Gitpod Abrir no StackBlitz Deploy no Cloudflare

Tecnologias

Astro Sveltia CMS Svelte TypeScript JavaScript MapBox Vite SCSS

Documental

Crie narrativas digitais interativas com mapas, dados, documentos e multimídia.

A Documental é uma plataforma open source para criação de sites voltados à documentação, memória, pesquisa e joralismo em casos de defesa de direitos humanos e ambientais. Ela reúne edição visual de conteúdo, mapas interativos e uma arquitetura moderna para que equipes possam publicar projetos complexos sem precisar desenvolver toda a infraestrutura do zero.

Use este modelo Desktop

O que é o Documental?

A Documental nasceu para resolver um problema comum entre jornalistas, pesquisadores, organizações da sociedade civil e instituições culturais: como publicar narrativas digitais ricas, interativas e visualmente atraentes sem precisar desenvolver uma plataforma própria.

Ao invés de criar apenas páginas estáticas, o Documental permite combinar diferentes formas de conteúdo em uma única experiência:

  • mapas interativos;
  • textos e documentos;
  • imagens e galerias;
  • vídeos incorporados;
  • visualizações de dados;
  • ⏳ linhas do tempo;
  • indicadores e destaques;
  • componentes reutilizáveis.

Tudo isso utilizando uma arquitetura moderna, aberta e baseada em arquivos, permitindo hospedar os projetos em qualquer serviço compatível com sites estáticos.


O ecossistema Documental

A Documental é composto por diferentes projetos que trabalham juntos para oferecer uma experiência completa, desde a criação até a publicação de um site.

Documental Desktop

Abrir repositório

A principal forma de utilizar a plataforma.

O Desktop transforma o Documental em uma experiência semelhante a um aplicativo de edição, eliminando praticamente toda a complexidade técnica.

Com ele é possível:

  • autenticar utilizando sua conta GitHub;
  • criar novos projetos em poucos cliques;
  • abrir projetos existentes;
  • gerenciar múltiplos ambientes de trabalho;
  • sincronizar automaticamente com o GitHub;
  • editar conteúdo através do CMS integrado;
  • trabalhar completamente offline;
  • publicar alterações quando desejar.

Para a maioria dos usuários, esta será a única ferramenta necessária.


Documental Template

Abrir repositório

O Template é o ponto de partida para novos projetos.

Ao criar um novo repositório a partir dele, você obtém uma estrutura pronta para começar a produzir conteúdo imediatamente.

O Template abstrai praticamente todo o código da plataforma e utiliza o Documental Core como dependência NPM, mantendo o repositório do projeto focado apenas em:

  • conteúdo;
  • configurações;
  • identidade visual;
  • dados;
  • arquivos de mídia.

Dessa forma, atualizar a plataforma passa a ser tão simples quanto atualizar uma dependência.


Documental Core

Abrir repositório

Você está aqui.

Este repositório contém toda a infraestrutura compartilhada da plataforma.

É nele que são desenvolvidos:

  • componentes visuais;
  • sistema de temas;
  • layouts;
  • CMS;
  • integração com mapas;
  • animações;
  • internacionalização;
  • sistema de páginas;
  • funcionalidades reutilizadas pelos demais projetos.

Na maioria dos casos você não precisará modificar este repositório diretamente. Ele existe principalmente para a evolução da plataforma e para contribuições da comunidade.


O que você pode criar?

A Documental foi projetado para qualquer projeto que combine narrativa, documentos e informação geográfica.

Alguns exemplos:

  • Reportagens investigativas
  • Documentação de direitos humanos
  • Atlas digitais
  • Projetos de memória
  • Mapeamentos territoriais
  • Projetos socioambientais
  • Relatórios institucionais
  • Pesquisas acadêmicas
  • Diagnósticos urbanos
  • Exposições digitais
  • Centros de documentação
  • Portais de transparência
  • Projetos educacionais
  • Observatórios temáticos

Principais recursos

Edição visual

Gerencie praticamente todo o conteúdo através de uma interface administrativa intuitiva.

Você pode editar páginas, textos, imagens, mapas e componentes sem precisar alterar arquivos manualmente ou escrever código.


Mapas como parte da narrativa

A Documental foi desenvolvido para que mapas não sejam apenas um elemento complementar, mas parte central da experiência.

É possível criar narrativas geográficas utilizando:

  • múltiplas camadas;
  • filtros;
  • marcadores;
  • estilos personalizados;
  • integração entre mapas e conteúdo editorial.

Biblioteca de componentes

Monte páginas utilizando dezenas de componentes reutilizáveis, incluindo:

  • textos ricos;
  • galerias;
  • vídeos;
  • linhas do tempo;
  • gráficos;
  • indicadores;
  • comparadores de imagens;
  • cards;
  • layouts responsivos;
  • blocos HTML;
  • mapas.

Sistema de temas

Cada projeto possui sua própria identidade visual.

Personalize facilmente:

  • cores;
  • tipografia;
  • espaçamentos;
  • animações;
  • componentes.

Multilíngue

Estruture projetos em diferentes idiomas utilizando uma arquitetura preparada para internacionalização.


Performance

Os projetos são publicados como sites estáticos modernos, oferecendo:

  • carregamento rápido;
  • excelente SEO;
  • alta segurança;
  • baixo custo de hospedagem;
  • compatibilidade com GitHub Pages, Cloudflare Pages e outros provedores.

Responsivo

Todos os componentes foram desenvolvidos para funcionar em computadores, tablets e dispositivos móveis.


Para quem é o Documental?

A Documental foi pensado para equipes que precisam comunicar informações complexas de forma acessível.

Entre elas:

  • organizações da sociedade civil;
  • jornalistas;
  • pesquisadores;
  • universidades;
  • instituições públicas;
  • centros de memória;
  • museus;
  • arquivos;
  • coletivos;
  • organizações culturais;
  • laboratórios de inovação.

No entanto, qualquer projeto que combine conteúdo editorial, mapas e dados pode se beneficiar da plataforma.


Como começar

Existem diferentes maneiras de utilizar o Documental, dependendo do seu perfil.

Sou usuário

Utilize o Documental Desktop.

Ele oferece a experiência mais simples para criar, editar e publicar projetos, sem necessidade de configurar um ambiente de desenvolvimento.


Quero contribuir com a plataforma

Você está no repositório correto.

O Documental Core concentra todo o desenvolvimento da plataforma, incluindo componentes, arquitetura, integrações e funcionalidades compartilhadas.


Para Desenvolvedores e usuário avançados

Esta seção é destinada a desenvolvedores, mantenedores e contribuidores do Documental Core.

Se você deseja apenas criar um projeto utilizando a plataforma, recomendamos utilizar o Documental Desktop ou o Documental Template, apresentados na seção anterior.

O Core contém toda a infraestrutura compartilhada do ecossistema Documental e é responsável por fornecer os componentes, layouts, integrações e funcionalidades utilizadas pelos demais projetos.


Arquitetura

A Documental segue uma arquitetura modular baseada em JAMStack, priorizando desempenho, simplicidade de hospedagem e baixo custo de manutenção.

                 ┌─────────────────────────┐
                 │  Documental Desktop     │
                 │ (Aplicação principal)   │
                 └────────────┬────────────┘
                              │
                              │
                 ┌────────────▼────────────┐
                 │   Documental Template   │
                 │ Projeto do usuário      │
                 └────────────┬────────────┘
                              │
                    npm install @documental/core
                              │
                 ┌────────────▼────────────┐
                 │    Documental Core      │
                 │ Componentes e Engine    │
                 └────────────┬────────────┘
                              │
               Astro • Svelte • Mapbox • CMS

O fluxo recomendado é:

  1. O usuário cria um projeto utilizando o Template.
  2. O Template instala automaticamente o Documental Core como dependência.
  3. O desenvolvimento do conteúdo acontece dentro do Template.
  4. O Core evolui independentemente e pode ser atualizado via NPM.
  5. O Desktop automatiza toda essa experiência.

Essa separação permite que projetos sejam atualizados sem copiar código entre repositórios.


Filosofia do projeto

A Documental foi desenvolvido seguindo alguns princípios fundamentais.

Conteúdo separado da plataforma

Projetos não precisam conter centenas de arquivos de infraestrutura.

O objetivo é manter cada repositório focado apenas em:

  • conteúdo;
  • configuração;
  • identidade visual.

Toda a lógica permanece no Core.


Componentes reutilizáveis

Toda funcionalidade deve ser implementada como um componente reutilizável.

Isso reduz duplicação de código e facilita manutenção.


Arquitetura baseada em arquivos

O conteúdo é armazenado em arquivos versionáveis, facilitando:

  • Git;
  • revisão de alterações;
  • colaboração;
  • histórico;
  • backup.

Open Source

Toda a plataforma é construída como software livre.

Novos componentes, melhorias e correções são sempre bem-vindos.


Stack tecnológica

O Core utiliza tecnologias modernas focadas em desempenho e experiência de desenvolvimento.

Tecnologia Finalidade
Astro Framework principal
Svelte Componentes interativos
TypeScript Tipagem
JavaScript Scripts
SCSS Sistema de estilos
Vite Build
Mapbox GL JS Mapas
Sveltia CMS Gerenciamento de conteúdo

Estrutura do projeto

src/
│
├── components/
│   ├── content/
│   ├── layout/
│   ├── maps/
│   ├── charts/
│   ├── gallery/
│   └── ...
│
├── layouts/
│
├── pages/
│
├── content/
│
├── assets/
│
├── lib/
│
└── styles/

public/

├── admin/
├── uploads/
└── assets/

scripts/

package.json
astro.config.mjs
vite.config.js

Instalação

Pré-requisitos

  • Node.js 20+
  • npm

Clonando o projeto

git clone https://github.com/documental-xyz/core.git

cd core

Instalando dependências

npm install

Ambiente de desenvolvimento

Inicie o servidor local.

npm run dev

O projeto ficará disponível em:

http://localhost:4321

Build de produção

npm run build

Os arquivos serão gerados em:

dist/

Preview

npm run preview

Scripts disponíveis

Comando Descrição
npm install Instala dependências
npm run dev Desenvolvimento
npm run build Build de produção
npm run preview Preview local
npm run serve Servidor da build

Desenvolvimento Online

Caso não queira configurar um ambiente local, o projeto pode ser executado diretamente no navegador.

Gitpod

Open in Gitpod

Ambiente completo de desenvolvimento em poucos segundos.


StackBlitz

Open in StackBlitz

Ideal para testes rápidos e exploração do código.


Sistema de Componentes

Toda a interface do Documental é construída a partir de componentes independentes.

Os componentes são organizados por domínio de responsabilidade.

Exemplos:

  • Conteúdo
  • Layout
  • Mapas
  • Gráficos
  • Galerias
  • Navegação
  • Utilidades

Essa organização facilita:

  • manutenção;
  • testes;
  • reutilização;
  • evolução da plataforma.

Sistema de Temas

O Core possui um sistema completo de temas.

Cada projeto pode definir sua própria identidade visual sem alterar componentes internos.

É possível personalizar:

  • tipografia;
  • paleta de cores;
  • espaçamentos;
  • animações;
  • estilos globais.

CMS

O gerenciamento de conteúdo é realizado através do Sveltia CMS.

Toda a configuração do CMS está localizada em:

public/admin/

Através dele é possível editar:

  • páginas;
  • componentes;
  • mapas;
  • imagens;
  • conteúdo multilíngue;
  • configurações do projeto.

Mapas

Os recursos de geonarrativa são implementados utilizando Mapbox GL JS.

Entre as funcionalidades disponíveis:

  • múltiplas camadas;
  • filtros;
  • marcadores;
  • estilos customizados;
  • integração entre mapas e conteúdo;
  • parâmetros específicos para dispositivos móveis.

Internacionalização

O Core possui suporte nativo para múltiplos idiomas.

Atualmente a plataforma oferece estrutura para:

  • Português
  • English
  • Español

Novos idiomas podem ser adicionados facilmente.


Publicação

Os projetos gerados pelo Documental podem ser publicados em qualquer hospedagem compatível com sites estáticos.

Entre elas:

  • GitHub Pages
  • Cloudflare Pages
  • Netlify
  • Vercel
  • servidores próprios

Publicação do pacote NPM

O Core é distribuído como pacote NPM e utilizado pelo Documental Template.

Fluxo de publicação:

  1. Atualizar a versão no package.json.
  2. Criar uma tag Git.
  3. Enviar a tag para o GitHub.
  4. O GitHub Actions executará automaticamente:
  • testes;
  • build;
  • publicação no NPM.
git tag v1.0.0

git push --tags

Contribuindo

Contribuições são muito bem-vindas.

Você pode colaborar através de:

  • novos componentes;
  • melhorias de performance;
  • documentação;
  • correções de bugs;
  • testes;
  • internacionalização.

Antes de abrir um Pull Request recomendamos:

  • verificar se já existe uma Issue relacionada;
  • seguir o padrão de código do projeto;
  • adicionar documentação para novos componentes;
  • manter compatibilidade com versões anteriores sempre que possível.

Próximas seções

As próximas partes do README apresentam:

  • Componentes disponíveis
  • Roadmap
  • Changelog
  • Créditos
  • Licença

Essas informações complementam a documentação técnica e acompanham a evolução contínua do ecossistema Documental.


Licença

Este projeto está licenciado sob a GPL 2.0 License - veja o arquivo LICENSE para detalhes.

Uso Comercial

Permitido uso comercial
Modificação e distribuição
Uso privado
Sem garantias


Documental 2.0 - Democratizando a criação de geo-narrativas para direitos humanos

Website Contato

Releases

Packages

Used by

Contributors

Languages