ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Plataforma interactiva de matemáticas para ingeniería con motor CAS simbólico, graficadoras dinámicas y solucionadores paso a paso. Cubre los cuatro pilares del currículo de ingeniería: Cálculo, Álgebra Lineal, EDO y Estadística.
| Capa | Tecnología |
|---|---|
| Framework | Next.js 16.2.3 (App Router, Turbopack) |
| UI | React 19, Tailwind CSS 4 |
| Visualización 2D | Mafs 0.21 |
| Visualización 3D | Three.js 0.183 + React Three Fiber 9 |
| CAS simbólico | Cortex-JS Compute Engine 0.55 |
| Entrada matemática | MathLive 0.109 |
| Renderizado LaTeX | KaTeX 0.16 |
| Estado global | Zustand 5 |
| Testing | Jest 30 + Testing Library 16 |
| Deploy | Vercel (Edge Network) |
| PWA | Service Worker manual (cache-first + offline fallback) |
| Ruta | Módulo | Contenido |
|---|---|---|
/funciones | Funciones | Graficadora 2D/3D, transformaciones, composición |
/calculo | Cálculo | Derivadas, integrales, límites, series de Taylor, suma de Riemann |
/algebra-lineal | Álgebra Lineal | Matrices, sistemas de Gauss-Jordan, valores propios, visualizador de transformaciones |
/edo | EDO | Ecuaciones separables, lineales de primer orden, orden 2 con coeficientes constantes; campo de pendientes; métodos numéricos Euler/RK4 |
/estadistica | Estadística | Estadística descriptiva, histograma, diagrama de caja, regresión lineal |
src/
├── app/
│ ├── layout.tsx # Root layout: metadata, viewport, ThemeProvider, PWARegister
│ ├── page.tsx # Landing page
│ ├── sitemap.ts # Sitemap dinámico
│ ├── robots.ts # robots.txt
│ ├── error.tsx # Error boundary global
│ ├── not-found.tsx # Página 404
│ └── (modules)/ # Route group (comparte error boundary de módulo)
│ ├── error.tsx # Error boundary por módulo
│ ├── funciones/
│ ├── calculo/
│ ├── algebra-lineal/
│ ├── edo/
│ └── estadistica/
│
├── components/
│ ├── ui/ # Componentes globales de UI
│ │ ├── ThemeProvider # Modo claro/oscuro (localStorage + prefers-color-scheme)
│ │ ├── ModuleSkeleton # Loading skeletons estandarizados
│ │ └── PWARegister # Registra el service worker (producción únicamente)
│ ├── calculus/ # Visualizadores y paneles del módulo Cálculo
│ ├── linearAlgebra/ # Componentes del módulo Álgebra Lineal
│ ├── edo/ # Componentes del módulo EDO
│ ├── estadistica/ # Componentes del módulo Estadística
│ ├── graph/ # Graficadora 2D/3D compartida
│ └── solver/ # Panel de entrada de expresiones CAS
│
├── lib/math/ # Servicios CAS puros (sin efectos de lado)
│ ├── computeEngine.ts # Singleton de Cortex-JS Compute Engine
│ ├── functionService.ts # Evaluación y análisis de f(x)
│ ├── calculusService.ts # Derivadas simbólicas, integrales, límites
│ ├── taylorService.ts # Serie de Taylor y diferencias finitas (nthDerivative)
│ ├── matrixService.ts # Determinante, Gauss-Jordan, valores propios
│ ├── odeService.ts # Resolución simbólica + numérica de EDO
│ └── statisticsService.ts# Estadística descriptiva, histograma, regresión
│
├── types/ # Tipos TypeScript compartidos por módulo
└── __tests__/ # Tests unitarios de servicios CAS
├── sprint9.test.ts # 37 tests (Cálculo)
└── sprint10.test.ts # 62 tests (Álgebra Lineal, EDO, Estadística)
dynamic(ssr: false) — Todos los visualizadores que usan Mafs o Three.js se cargan con next/dynamic y ssr: false dentro de un Client Component ('use client'), ya que el SSR no puede acceder al DOM/WebGL.matrixService, odeService, etc. son módulos de funciones puras, testeables de forma aislada y sin dependencias de React.StepCard del módulo Cálculo es reutilizado en Álgebra Lineal y EDO; cada módulo convierte sus propios tipos de pasos al formato de StepCard.ModuleSkeleton, PanelSkeleton e InlineSkeleton viven en un único archivo y son importados por todos los tab shells.next-pwa por incompatibilidades con Turbopack; el SW manual en public/sw.js implementa cache-first para estáticos, network-first para navegación y fallback offline.# 1. Clonar el repositorio
git clone https://github.com/tu-usuario/mathcariola.git
cd mathcariola
# 2. Instalar dependencias
npm install
# 3. Configurar variables de entorno
cp .env.example .env.local
# Editar .env.local si se necesita una URL base distinta
# 4. Iniciar el servidor de desarrollo (Turbopack)
npm run dev
La aplicación queda disponible en http://localhost:3000.
| Comando | Descripción |
|---|---|
npm run dev | Servidor de desarrollo con Turbopack (HMR) |
npm run build | Build de producción |
npm run start | Servidor de producción (requiere build previo) |
npm run lint | ESLint sobre todo el proyecto |
npm test | Jest — tests unitarios de servicios CAS |
npx tsc --noEmit | Verificación de tipos TypeScript |
NEXT_PUBLIC_BASE_URL con la URL de producción.vercel.json.El archivo vercel.json configura:
/_next/static/ y assets estáticos.Cache-Control: no-cache para sw.js (el service worker siempre debe ser fresco).X-Frame-Options, X-Content-Type-Options, etc.).npm test
99 tests unitarios cubren todos los servicios CAS: