Plataforma de visualización de datos del Banco Central de Bolivia construida con SvelteKit, D3.js y Tailwind CSS.
Nota importante: Este repositorio contiene únicamente la interfaz de visualización. Los datos son generados y actualizados automáticamente por el repositorio mauforonda/bcb_semanal. Ambos repositorios son esenciales para el funcionamiento completo del sistema.
# Instalar dependencias
npm install
# Iniciar servidor de desarrollo
npm run dev
# Construir para producción
npm run build
# Preview de producción
npm run preview
El servidor de desarrollo estará disponible en:
app/
├── src/
│ ├── lib/
│ │ ├── components/
│ │ │ ├── TimeSeriesChart.svelte # Componente de gráfico D3
│ │ │ ├── ParquetViewer.svelte # Visor de datos
│ │ │ └── Sidebar.svelte # Barra lateral de navegación
│ │ └── stores/
│ │ └── theme.js # Store de tema
│ ├── routes/
│ │ ├── +layout.svelte # Layout principal con theme toggle
│ │ ├── +layout.js # Layout config
│ │ ├── +page.svelte # Página principal
│ │ └── +page.js # Server-side data loading
│ ├── app.css # Estilos globales con Tailwind
│ └── app.html # Template HTML
├── static/
│ └── logo.png # Logo del BCB
├── package.json
├── svelte.config.js
├── tailwind.config.js
└── vite.config.js
El proyecto incluye soporte completo para tema claro y oscuro:
Modo Claro:
light-body: #e9eeeelight-background: #eff4f4light-focus-primary: #6c95bdfflight-focus-secondary: #adc0d3ffModo Oscuro:
dark-body: #12121cdark-background: #212132ffdark-focus-primary: #dfe3f8ffdark-focus-secondary: #9397c6ffLos datos se cargan automáticamente desde el repositorio mauforonda/bcb_semanal, el cual genera y actualiza el archivo CSV con las estadísticas semanales del Banco Central de Bolivia.
Ambos repositorios son importantes:
unidad - Unidad de medidacategoria - Categoría del indicadorvariable - Nombre de la variablesubvariable - Subcategoríafecha - Fecha del registrovalor - Valor numérico# Instalar Vercel CLI
npm i -g vercel
# Deploy
vercel
# Construir
npm run build
# La carpeta 'build' contiene los archivos estáticos
Configuración en netlify.toml:
[build]
command = "npm run build"
publish = "build"
npm run buildbuild contiene los archivos estáticosgh-pages# Construir
npm run build
# Servir con cualquier servidor estático
npx serve build
Los datos se cargan automáticamente en cada visita desde el repositorio GitHub en src/routes/+page.js:
export async function load({ fetch }) {
const response = await fetch('https://raw.githubusercontent.com/mauforonda/bcb_semanal/refs/heads/main/datos.csv');
const csvText = await response.text();
const csvData = d3.csvParse(csvText, ...);
return { csvData };
}
Esto garantiza que siempre se muestren los datos más recientes generados por el repositorio mauforonda/bcb_semanal.
En package.json:
"scripts": {
"dev": "vite dev --port 3000"
}
El proyecto ya está configurado con:
svelte.config.js si necesario)< 768pxMejorar la integración de datos
Expandir visualizaciones
Mejorar Performance
Agregar analíticas
Para problemas o preguntas:
Problemas con la visualización o interfaz:
rm -rf .svelte-kit node_modules && npm installProblemas con los datos:
Proyecto del Gobierno de Bolivia - Ministerio de Economía y Finanzas Públicas