Skip to content

About

Template oficial da BRAN Org para publicação de APIs REST públicas e dashboards interativos de dados acadêmicos.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

BRAN Open Data Portal & API Gateway

BRAN Org Total de Artigos Bases de Dados BOAI Signatory FAIR Principles GPLv3 CC BY-NC-SA 4.0

Portal unificado e API REST pública da BRAN Org para acesso federado aos acervos científicos abertos da Ciência da Informação no Brasil.

O portal integra ~12.000 artigos acadêmicos diretamente em memória, provendo consultas em sub-milissegundos, exportação bibliográfica e visualizações cientométricas vetoriais sem dependência de banco de dados externo ou transpiladores pesados.


📚 Bases de Dados Integradas

Base Evento / Periódico Cobertura Registros Depósito Zenodo
ENANCIB Encontro Nacional de Pesquisa em Ciência da Informação 2003–2024 6.998 DOI
CBBD Congresso Brasileiro de Biblioteconomia e Documentação 2013–2019 3.385 Em preparação
EBBC Encontro Brasileiro de Bibliometria e Cientometria 2012–2024 808 DOI
DataGramaZero Revista de Ciência da Informação (DGZ) 1999–2015 487 DOI
ABEC Meeting Encontros da Associação Brasileira de Editores Científicos 2018–2023 259 DOI
Total Acervo Unificado da Ciência da Informação 1994–2026 11.937 Acesso Livre & Gratuito

⚡ Recursos da Arquitetura

  • Busca Federada em Tempo Real: Consulta instantânea nos 11.937 registros combinando título, resumo, autores e palavras-chave.
  • Filtros por Base ou Globais: Chips rápidos na interface para alternar entre todas as bases ou isolar eventos específicos.
  • Catálogo de Datasets e Downloads: Links diretos para download dos 3 formatos canônicos (.json, .csv RFC 4180 com UTF-8 BOM, .sqlite com FTS5) e pacotes Zenodo.
  • API REST Pública Sem Autenticação:
    • GET /api/v1/databases: Catálogo das 5 bases com contadores, períodos e links.
    • GET /api/v1/databases/:database: Metadados e estatísticas de uma base específica.
    • GET /api/v1/articles: Busca federada global (?q=, ?database=, ?year=, ?author=, ?limit=, ?offset=).
    • GET /api/v1/:database/articles: Rotas scoped por evento (ex: /api/v1/ebbc/articles).
    • GET /api/v1/articles/:key: Busca exata por DOI ou ID canônico.
    • GET /api/v1/articles/export: Exportação sob demanda em CSV, BibTeX, RIS e JSON.
    • GET /api/v1/articles/stats: Métricas cientométricas agregadas ou filtradas por base.
    • GET /api/v1/openapi.json: Especificação completa OpenAPI 3.0.
  • Interface Web Simples e Responsiva: Dashboard com gráficos SVG nativos via pure-svg-charts, sem dependência de bibliotecas pesadas de CDN.

🛠️ Execução Local

1. Clonar e Instalar

git clone https://github.com/BRAN-Org/bran-web-database-template.git bran-portal
cd bran-portal
npm install

2. Sincronizar Datasets

# Copia datasets dos repositórios locais irmãos ou baixa diretamente via GitHub Raw:
npm run data:sync

3. Rodar Testes Automatizados

npm test

4. Iniciar Servidor

npm start
# Acesse o portal em http://localhost:3000

📡 Exemplos de Uso da API

Python (Pandas)

import pandas as pd

# Carregar artigos do EBBC direto da API
url = "http://localhost:3000/api/v1/ebbc/export?format=csv"
df = pd.read_csv(url)
print(f"Total carregado: {len(df)} artigos")
print(df[['title', 'year', 'doi']].head())

R

library(jsonlite)

# Busca federada por 'cienciometria' em todo o acervo
url <- "http://localhost:3000/api/v1/articles?q=cienciometria&limit=50"
data <- fromJSON(url)
print(data$filteredCount)
head(data$results$title)

cURL

# Consultar catálogo oficial de bases
curl -s http://localhost:3000/api/v1/databases | jq .

# Buscar trabalhos por autor no ENANCIB
curl -s "http://localhost:3000/api/v1/enancib/articles?author=Marcondes" | jq .

📄 Licenças

About

Template oficial da BRAN Org para publicação de APIs REST públicas e dashboards interativos de dados acadêmicos.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages