Skip to content

legacyum/habitatis

Repository files navigation

Habitatis

Aplicación web educativa modular (React + TypeScript + Vite + Tailwind + Framer Motion + Three.js opcional + Recharts) para explorar parámetros de hábitats extraplanetarios comenzando con Marte y la Luna.

Características MVP

  • Landing con Hero animado.
  • Listado de planetas (Mars, Moon).
  • Detalle de planeta con pestañas.
  • Módulos dinámicos: Calculadora de Peso y Estimador Energético.
  • Utilidades físicas con tests (>=80% coverage en utils esperado).
  • Arquitectura extensible para nuevos planetas y módulos.

Stack

  • React 18 + TypeScript + Vite
  • Tailwind CSS
  • Framer Motion (animaciones)
  • Three.js + @react-three/fiber + drei (visualizaciones 3D futuras)
  • Recharts (gráficas)
  • Jest + React Testing Library
  • ESLint + Prettier
  • GitHub Actions CI

Scripts

npm install
npm run dev       # entorno desarrollo
npm run build     # build producción
npm run preview   # preview local
npm run lint      # lint
npm run test      # tests con coverage
npm run typecheck # verificación TS

Despliegue (Vercel)

  1. Crear proyecto nuevo apuntando al repo.
  2. Framework: Vite. Build command: npm run build. Output: dist.
  3. Variables de entorno (si se añaden APIs) en panel de Vercel.

Estructura de Carpetas

src/
  components/
  pages/
  modules/
  data/
  utils/
  hooks/
  services/
  styles/
  assets/

Añadir un nuevo planeta

  1. Editar src/data/planets.json y añadir un objeto con campos: id, name, slug, radius_m, mass_kg, surface_gravity_m_s2, mean_temp_c, atmosphere, description, image (ruta).
  2. Asegurar imagen en public/assets/ o CDN.
  3. (Opcional) Actualizar documentación y referencias.

Añadir un nuevo módulo

  1. Crear carpeta en src/modules/<nuevo> y exportar componente <NuevoModule>.tsx.
  2. Añadir entrada a src/modules/config/modules.ts con id, title, componentPath (ruta relativa respecto al archivo config usando ..).
  3. Incluir tests si el módulo introduce lógica adicional.

Fórmulas y Referencias

  • Peso: F = m * g.
  • Transferencia de Hohmann: vis-viva y Δv (referencia: Bate, Mueller & White - Fundamentals of Astrodynamics).
  • Estimador Energético: Q = U * A * ΔT (simplificado). Área ~ k * V^(2/3) (heurística).
  • Radiación: modelo exponencial simplificado D = D0 * exp(-μ * ρ * x) (educativo, no usar para diseño real).
  • Datos planetarios: NASA Planetary Fact Sheets (https://nssdc.gsfc.nasa.gov/planetary/factsheet/).

Advertencias

Este proyecto es educativo. Los modelos físicos están simplificados y NO deben utilizarse para ingeniería real.

Roadmap Futuro

  • Más módulos: simulador de transferencia (visual), calculadora de escudo de radiación interactiva, órbitas 3D.
  • Integración NASA APIs.
  • Internacionalización i18n.
  • Persistencia local de configuraciones.

Licencia

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published