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.
- 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,.csvRFC 4180 com UTF-8 BOM,.sqlitecom 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.
git clone https://github.com/BRAN-Org/bran-web-database-template.git bran-portal
cd bran-portal
npm install# Copia datasets dos repositórios locais irmãos ou baixa diretamente via GitHub Raw:
npm run data:syncnpm testnpm start
# Acesse o portal em http://localhost:3000import 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())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)# 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 .- Código-Fonte: GNU General Public License v3.0 (GPL-3.0-or-later)
- Dados Acadêmicos e Científicos: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0). Não comercial e sem treino comercial de IA.