Sitio Web: https://b-eco.vercel.app/
B-ECO es el sitio web del grupo estudiantil enfocado en proyectos de sostenibilidad y medio ambiente del Tecnológico de Monterrey.
- Requisitos Previos
- Configuración Inicial
- Cómo Actualizar Contenido
- Cómo Subir Imágenes a Firebase
- Ejecutar el Proyecto Localmente
- Desplegar Cambios
- Archivar una Mesa Directiva
- Solución de Problemas
- Recursos Útiles
Antes de comenzar, necesitas tener instalado lo siguiente en tu computadora:
- Descargar: https://nodejs.org/ (versión LTS recomendada)
- Node.js incluye npm (gestor de paquetes)
- Verificar instalación: Abre una terminal y ejecuta:
node --version npm --version
- Descargar: https://git-scm.com/downloads
- Verificar instalación:
git --version
- Crear cuenta: https://github.com/signup
- Configurar Git con tu cuenta: Guía oficial de GitHub
- Visual Studio Code: https://code.visualstudio.com/
Si es tu primera vez usando Git, necesitas configurar tu identidad:
git config --global user.name "Tu Nombre"
git config --global user.email "tu-email@ejemplo.com"Autenticar con GitHub:
- Guía completa: Conectar con GitHub usando SSH
- Alternativa simple: Usar GitHub CLI
Abre una terminal y ejecuta:
git clone https://github.com/Roberthecoder/B-ECO_2.0.git
cd B-ECO_2.0/b-ecoDentro de la carpeta b-eco, ejecuta:
npm installEste comando descarga todas las librerías necesarias para el proyecto (puede tardar unos minutos).
El contenido del sitio está organizado en archivos de datos que puedes editar fácilmente.
b-eco/src/app/data/years/
├── current/ ← Contenido de la mesa directiva ACTUAL
│ ├── carousel-images.json
│ ├── projects.js
│ ├── cards.js
│ └── who-are-we.js
└── 2023-2025/ ← Contenido archivado (NO EDITAR)
├── carousel-images.json
├── projects.js
├── cards.js
└── who-are-we.js
current/. Los archivos en 2023-2025/ son históricos.
Archivo: b-eco/src/app/data/years/current/carousel-images.json
Este archivo controla las imágenes que aparecen en rotación en la parte superior de la página principal.
Formato:
{
"images": [
{
"img": "URL_DE_LA_IMAGEN",
"title": "Descripción de la imagen",
"fitMode": "cover"
}
]
}Campos:
img: URL de la imagen en Firebase Storage (ver sección de Subir Imágenes)title: Descripción breve de la imagen (para accesibilidad)fitMode:"cover"= La imagen se recorta para llenar el espacio"contain"= La imagen se muestra completa con fondo blanco
Ejemplo:
{
"images": [
{
"img": "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FCarrusel2026%2F1.jpg?alt=media&token=...",
"title": "Reforestación 2026",
"fitMode": "cover"
},
{
"img": "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FCarrusel2026%2F2.jpg?alt=media&token=...",
"title": "Taller de Compostaje",
"fitMode": "cover"
}
]
}Archivo: b-eco/src/app/data/years/current/who-are-we.js
Este archivo controla el texto e imagen de la sección "Nosotros".
Formato:
export const whoAreWeContent = {
title: "¿Quiénes Somos?",
paragraphs: [
"Primer párrafo de texto...",
"Segundo párrafo de texto...",
"Tercer párrafo (opcional)..."
],
image: "URL_DE_LA_IMAGEN"
};Ejemplo:
export const whoAreWeContent = {
title: "¿Quiénes Somos?",
paragraphs: [
"Somos B-ECO 2026, una comunidad apasionada de estudiantes del Tec de Monterrey comprometidos con la sostenibilidad.",
"Trabajamos en proyectos concretos que impactan positivamente nuestro entorno y comunidad."
],
image: "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2F2026%2Fequipo.jpg?alt=media&token=..."
};Archivo: b-eco/src/app/data/years/current/projects.js
Este archivo controla el carrusel de proyectos.
Formato:
export const projectsResources = [
{
image: "URL_DE_LA_IMAGEN",
title: "Nombre del Proyecto",
description: "Descripción completa del proyecto..."
},
// Más proyectos...
];Ejemplo:
export const projectsResources = [
{
image: "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FProyectos%2Freforestacion.jpg?alt=media&token=...",
title: "Reforestación Campus",
description: "Proyecto de reforestación en el campus universitario donde plantamos más de 500 árboles nativos de la región."
},
{
image: "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FProyectos%2Fcompostaje.jpg?alt=media&token=...",
title: "Taller de Compostaje",
description: "Taller educativo para la comunidad sobre cómo crear composta en casa y reducir residuos orgánicos."
}
];Archivo: b-eco/src/app/data/years/current/cards.js
Este archivo controla las tarjetas de publicaciones destacadas en la sección "Síguenos".
Formato:
export const cardsContent = [
{
img: "URL_DE_LA_IMAGEN",
text: "Texto de la publicación (máximo 200 caracteres)...",
link: "URL_DEL_POST_EN_INSTAGRAM"
},
// Más tarjetas...
];Ejemplo:
export const cardsContent = [
{
img: "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FPosts%2Fpost1.jpg?alt=media&token=...",
text: "¡Celebramos nuestro primer aniversario! Gracias a todos por formar parte de este proyecto...",
link: "https://www.instagram.com/p/ABC123/"
},
{
img: "https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FPosts%2Fpost2.jpg?alt=media&token=...",
text: "Ganadores del premio 'Proyecto Estudiantil Destacado 2026'",
link: "https://www.instagram.com/p/DEF456/"
}
];Firebase Storage es donde se almacenan todas las imágenes del sitio web.
- Ve a https://console.firebase.google.com/
- Inicia sesión con la cuenta de Firebase del proyecto (pide las credenciales al encargado)
- Selecciona el proyecto b-eco
- En el menú lateral, haz clic en "Storage" (Si no aparece por defecto esta en la seccion de Build)
- Verás la carpeta
Assets/
Estructura recomendada:
Assets/
├── Carrusel2026/ ← Imágenes del carrusel principal
├── Proyectos2026/ ← Imágenes de proyectos
├── Posts2026/ ← Imágenes de tarjetas sociales
└── Equipo2026/ ← Fotos del equipo
Crear carpeta:
- Haz clic en "Subir carpeta" o "Crear carpeta"
- Nombra la carpeta (ejemplo:
Carrusel2026)
- Dentro de la carpeta deseada, haz clic en "Subir archivo"
- Selecciona las imágenes desde tu computadora
- Espera a que se complete la carga
- Una vez subida la imagen, haz clic sobre ella
- En el panel derecho, busca la sección "Tokens de acceso"
- Copia la URL de descarga (se ve así):
https://firebasestorage.googleapis.com/v0/b/b-eco-18c09.appspot.com/o/Assets%2FCarrusel2026%2F1.jpg?alt=media&token=abc123... - Pega esta URL en el archivo correspondiente (ver sección Actualizar Contenido)
💡 Tip: Si la URL no aparece automáticamente, asegúrate de que la imagen tenga permisos públicos:
- Haz clic derecho en la imagen → "Obtener URL pública"
- Carrusel principal: 1920x1080px (formato horizontal)
- Proyectos: 800x600px
- Tarjetas sociales: 600x600px (cuadrado)
- Formato: JPG o PNG
- Peso: Máximo 2MB por imagen (comprime si es necesario)
Herramientas de compresión:
Para ver los cambios en tu computadora antes de publicarlos:
cd /ruta/a/B-ECO_2.0/b-econpm run devAbre tu navegador y ve a: http://localhost:3000
El sitio se actualizará automáticamente cuando guardes cambios en los archivos.
Presiona Ctrl + C en la terminal.
Una vez que hayas hecho cambios y los hayas probado localmente, es momento de publicarlos.
git statusEste comando muestra los archivos que han sido modificados.
git add .Esto prepara todos los archivos modificados para el commit.
git commit -m "Descripción de los cambios (ejemplo: Actualizar carrusel 2026)"💡 Tip: Usa mensajes descriptivos. Ejemplos:
- ✅
"Actualizar proyectos de la mesa 2026" - ✅
"Agregar imágenes del carrusel principal" - ❌
"cambios"(muy vago)
git push origin mainSi es tu primera vez:
- Es posible que te pida autenticarte con GitHub
- Sigue las instrucciones en pantalla
El sitio está configurado con Vercel para despliegue automático:
- Después de hacer
git push, Vercel detecta los cambios automáticamente - Construye una nueva versión del sitio
- En ~2-3 minutos, los cambios estarán en vivo en https://b-eco.vercel.app/
Ver el estado del despliegue:
- Ve a Vercel Dashboard
- Inicia sesión con la cuenta del proyecto
- Verás el estado del build en tiempo real
Cuando termine el periodo de una mesa directiva y entre una nueva:
- Crea una nueva carpeta en
b-eco/src/app/data/years/ - Nómbrala con el periodo (ejemplo:
2026-2028)
cd b-eco/src/app/data/years/
mkdir 2026-2028cp current/*.* 2026-2028/Esto copia todos los archivos de current/ a la nueva carpeta de archivo.
Edita el archivo b-eco/src/app/data/homepage-configs.js:
// Agrega la nueva configuración
import archive2026Carousel from './years/2026-2028/carousel-images.json';
import { projectsResources as archive2026Projects } from './years/2026-2028/projects';
import { cardsContent as archive2026Cards } from './years/2026-2028/cards';
import { whoAreWeContent as archive2026WhoAreWe } from './years/2026-2028/who-are-we';
export const homepageConfigs = {
"current": {
// ... configuración actual
},
"2023-2025": {
// ... configuración existente
},
"2026-2028": { // ← NUEVO
year: "2026-2028",
displayName: "2026-2028",
headerCarouselImages: archive2026Carousel.images,
whoAreWeContent: archive2026WhoAreWe,
projectsData: archive2026Projects,
followUsCards: archive2026Cards,
showSnakeGame: true,
}
};Navbar: Edita b-eco/src/app/components/Navbar.jsx
<div className="dropdown-menu">
<Link href="/historia/2023-2025" className="dropdown-item">
2023-2025
</Link>
<Link href="/historia/2026-2028" className="dropdown-item">
2026-2028 {/* ← NUEVO */}
</Link>
</div>Sidebar: Edita b-eco/src/app/components/Sidebar.jsx (similar al Navbar)
Edita b-eco/src/app/historia/[year]/page.js:
export async function generateStaticParams() {
return [
{ year: '2023-2025' },
{ year: '2026-2028' }, // ← NUEVO
];
}Ahora puedes editar los archivos en current/ con la información de la nueva mesa directiva sin perder el contenido anterior.
Solución: Node.js no está instalado o no está en el PATH.
- Reinstala Node.js desde https://nodejs.org/
- Reinicia tu terminal
Solución: Git no está instalado.
- Descarga Git desde https://git-scm.com/downloads
- Reinicia tu terminal
Solución: No tienes permisos para subir cambios al repositorio.
- Asegúrate de estar autenticado con GitHub
- Pide al administrador del repositorio que te agregue como colaborador
Solución: Las dependencias no están instaladas.
cd b-eco
npm installSolución:
- Verifica que guardaste los archivos
- Si estás en modo desarrollo (
npm run dev), el navegador debería actualizarse automáticamente - Intenta refrescar el navegador con
Ctrl + F5(refresco forzado) - Verifica que no haya errores en la consola del navegador (F12 → Consola)
Solución: Hay un error de sintaxis en algún archivo.
- Revisa que todos los archivos
.jsy.jsontengan la sintaxis correcta - Los archivos JSON deben tener comillas dobles
", no simples' - Verifica que no falten comas o corchetes
Solución:
- Verifica que la URL de Firebase Storage sea correcta
- Asegúrate de que la imagen tenga permisos públicos en Firebase
- Verifica que la URL incluya el token de acceso (
?alt=media&token=...)
- Next.js: https://nextjs.org/docs
- React: https://react.dev/
- Firebase: https://firebase.google.com/docs
- Git: https://git-scm.com/doc
-
Git y GitHub para principiantes:
-
Configurar SSH con GitHub:
-
Firebase Storage:
- Editor de Código: Visual Studio Code
- Cliente Git Visual: GitHub Desktop
Si tienes problemas o preguntas:
- Revisa esta documentación - La mayoría de problemas comunes están cubiertos aquí
- Busca el error en Google - Copia el mensaje de error y búscalo
- Consulta al equipo técnico - Contacta al encargado de tecnología de B-ECO
- GitHub Issues - Crea un issue en el repositorio: https://github.com/Roberthecoder/B-ECO_2.0/issues
Este proyecto es propiedad de B-ECO, grupo estudiantil del Tecnológico de Monterrey.
Última actualización: Febrero 2026
