Este es el repositorio oficial del sitio web y portafolio personal de Carlos Baeza Negroni, Ingeniero Consultor Senior especializado en Blockchain, Contratos Inteligentes (Solidity, EVM), DeFi, DAOs, NFTs, RWA y mecanismos avanzados de staking.
El sitio es una aplicación web moderna, rápida y completamente internacionalizada (soporte para 10 idiomas), construida sobre la última versión de Next.js y diseñada con una estética visual premium y responsiva.
El proyecto utiliza tecnologías de vanguardia para garantizar la escalabilidad, el rendimiento óptimo y una excelente experiencia tanto de desarrollo como de usuario final:
- Framework: Next.js
16.2.6utilizando la arquitectura App Router. - Motor de Renderizado: Compilación estática optimizada (
output: "export"ennext.config.ts) lista para despliegues descentralizados o CDNs de alto rendimiento. - Runtime: React
19.2.4/ Node.js. - Estilos (CSS): Tailwind CSS
^4configurado mediante@tailwindcss/postcss. No requieretailwind.config.ts, ya que la tematización e inline variables se gestionan directamente a nivel CSS enapp/globals.css. - Componentes de Interfaz: shadcn/ui (preset
base-nova), construido sobre componentes primitivos de@base-ui/react. - Iconografía: Lucide React y FontAwesome v6 para una amplia variedad de iconos sociales y de interfaz.
- Tipografía: Fuentes modernas optimizadas a través de
next/font: Plus Jakarta Sans (cuerpo), Outfit (títulos) y Geist Mono (fuentes monoespaciadas).
El repositorio está organizado de forma modular siguiendo los estándares modernos del App Router de Next.js:
├── .agents/ # Habilidades y configuraciones para agentes de IA
├── app/ # Directorio raíz de la aplicación (App Router)
│ ├── colors/ # Paleta de colores y tokens de diseño
│ ├── favicon.ico # Icono de pestaña del sitio
│ ├── globals.css # Estilos globales y variables de tema de Tailwind CSS v4
│ ├── layout.tsx # Layout raíz del sitio (metadatos globales, SEO, tipografías y JSON-LD)
│ ├── page.tsx # Página principal (composición de todas las secciones del portafolio)
│ ├── robots.ts # Configuración del archivo robots.txt para buscadores
│ └── sitemap.ts # Generación dinámica del mapa del sitio para SEO
├── components/ # Componentes de React compartidos
│ ├── Navbar.tsx # Barra de navegación con desplazamiento suave y selector de idioma
│ ├── Slider.tsx # Carrusel interactivo y responsivo para publicaciones del Hero
│ └── ui/ # Componentes base e independientes de shadcn/ui
│ ├── badge.tsx, button.tsx, card.tsx, checkbox.tsx, etc.
├── context/ # Contextos globales de React
│ └── I18nContext.tsx # Sistema y proveedor de internacionalización (I18n) a nivel de cliente
├── lib/ # Funciones utilitarias del sistema
│ └── utils.ts # Utilidades compartidas (ej. fusión de clases con tailwind-merge)
├── messages/ # Diccionarios de traducción en formato JSON (10 idiomas)
│ ├── ar.json, de.json, en.json, es.json, fr.json, ja.json, ko.json, pt.json, ru.json, zh.json
├── public/ # Recursos estáticos (imágenes, logos, etc.)
│ └── images/
├── next.config.ts # Configuración del compilador y comportamiento de Next.js
├── tsconfig.json # Configuración del compilador de TypeScript
└── package.json # Dependencias y scripts del proyectoEl portafolio cuenta con un sistema personalizado de traducción a nivel de cliente, lo que permite ofrecer una experiencia nativa sin recargas de página en 10 idiomas:
- 🇪🇸 Español (
es.json) - 🇺🇸 Inglés (
en.json) - 🇨🇳 Chino Simplificado (
zh.json) - 🇸🇦 Árabe (
ar.json- con soporte nativo para lectura RTL derecha a izquierda) - 🇷🇺 Ruso (
ru.json) - 🇯🇵 日本語 / Japonés (
ja.json) - 🇧🇷 Portugués (
pt.json) - 🇰🇷 한국어 / Coreano (
ko.json) - 🇩🇪 Deutsch / Alemán (
de.json) - 🇫🇷 Français / Francés (
fr.json)
- El contexto
I18nProvider(encontext/I18nContext.tsx) inicializa el idioma basándose en el valor almacenado enlocalStorage. Si no existe, utiliza español (es) por defecto. - Configura automáticamente el atributo
dir(rtlpara árabe,ltrpara los demás) ylangen la etiqueta<html>. - Expone la función de traducción
t(key)que soporta lectura de rutas anidadas con notación de punto (ej.t("projects.items")).
Asegúrate de tener instalado Node.js (versión v18 o superior recomendada) y tu gestor de paquetes favorito (npm, yarn, pnpm o bun).
npm installPara levantar el servidor de desarrollo local con soporte para compilación en caliente (Fast Refresh):
npm run devLuego abre http://localhost:3000 en tu navegador.
Para generar la compilación de producción optimizada y exportar los archivos HTML/CSS/JS estáticos a la carpeta out/:
npm run buildSi eres un desarrollador humano o un agente de inteligencia artificial colaborando en este repositorio (ej. Antigravity, Claude Code, Cursor, Copilot, etc.), debes seguir estrictamente las directrices del archivo AGENTS.md.
- Idioma: Toda comunicación con el usuario y cualquier cambio en los archivos de código, comentarios y documentación del repositorio debe realizarse estrictamente en español.
- Next.js 16: Este proyecto utiliza APIs modernas de Next.js 16. Dado que el proyecto compila como exportación estática (
output: 'export'), la gestión de páginas dinámicas y de segmentación tradicional no aplica de la misma forma que en despliegues con servidor. Respeta la estructura de App Router basada en componentes de cliente ("use client") para características interactivas (carruseles, traducciones, etc.). - Estilos y Componentes: Utiliza la clase utilitaria
cnpara fusionar condicionalmente estilos de Tailwind CSS. Toda modificación visual o de componentes de UI debe realizarse sobre los componentes decomponents/ui/y no a través de soluciones inline ad-hoc no estandarizadas.
