Loading repository data…
Loading repository data…
cristian10gf / repository
Este es un proyecto que se centra en la identificación de varios códigos utilizados a nivel mundial como lo son EAN, ISIN, ISBN
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Plataforma interactiva para la exploración, generación y verificación de códigos lineales y sistemas de codificación. Desarrollada con Next.js 15, React 19, Tailwind CSS v4 y TypeScript.
Soporta códigos como EAN, ISBN, ISIN, Hamming, Reed-Solomon, códigos cíclicos, y códigos lineales personalizados con operaciones sobre matrices generadoras y de control.
| Categoría | Tecnología |
|---|---|
| Framework | Next.js 15 (App Router, Server Components) |
| UI | React 19, Tailwind CSS v4, Radix UI, Lucide Icons |
| Estado URL | nuqs (query params type-safe, SSR-compatible) |
| Estado cliente | Zustand |
| Markdown | unified + remark + rehype + KaTeX |
| Package manager | pnpm |
├── app/ # Rutas y páginas (App Router)
│ ├── page.tsx # Página de inicio con búsqueda
│ ├── layout.tsx # Layout raíz (NuqsAdapter, ThemeProvider)
│ ├── globals.css # Estilos globales, tokens, Tailwind v4
│ ├── acerca/ # Página "Acerca de"
│ ├── personalizado/ # Códigos lineales personalizados
│ │ ├── H_G/ # Generación de código
│ │ ├── Mcontrol/ # Matriz de control
│ │ ├── Mestandar/ # Matriz estándar
│ │ ├── cequivalentes/ # Códigos equivalentes
│ │ ├── cextension/ # Extensión de código
│ │ ├── cperforacion/ # Perforación de código
│ │ ├── creduccion/ # Reducción de código
│ │ └── validar-Mcontrol/ # Validar matriz de control
│ ├── especialesC/ # Códigos especiales
│ │ ├── ean/ # EAN-8 / EAN-13
│ │ ├── isbn/ # ISBN-10 / ISBN-13
│ │ ├── isin/ # ISIN
│ │ ├── cCiclicos/ # Códigos cíclicos
│ │ └── cReed-Solomo/ # Reed-Solomon
│ ├── generalC/ # Códigos generales
│ ├── existencia/ # Verificación de existencia por cotas
│ ├── bola/ # Cálculo de esferas
│ ├── error-Mensaje/ # Detección y corrección de errores
│ └── textos/ # Contenido teórico (Markdown → páginas estáticas)
│ └── [texto]/ # Ruta dinámica con generateStaticParams
│
├── components/
│ ├── display/ # Componentes de presentación
│ │ ├── CodeParameters.tsx # Parámetros [n,k,d] del código
│ │ ├── CodewordList.tsx # Lista paginada de codewords
│ │ └── MatrixDisplay.tsx # Visualización de matrices
│ ├── features/ # Componentes de funcionalidad
│ │ ├── CodeComparator.tsx # Comparador de códigos especiales
│ │ ├── CodeGeneratorForm.tsx # Formulario generador de códigos
│ │ └── ItemGrid.tsx # Grid de tarjetas (home, listados)
│ ├── forms/ # Componentes de entrada
│ │ ├── ArrayInput.tsx # Input de arrays (coeficientes)
│ │ ├── CodeTypeSelector.tsx # Selector de tipo y método
│ │ ├── MatrixInput.tsx # Input de matrices con acciones
│ │ ├── ParameterInputs.tsx # Inputs de parámetros n, k, q
│ │ ├── SearchBar.tsx # Barra de búsqueda
│ │ └── ValidationMethodPicker.tsx # Selector de métodos de validación
│ ├── layout/ # Componentes de layout
│ │ ├── NavBar.tsx
│ │ ├── Footer.tsx
│ │ └── PageShell.tsx # Wrapper de página con título y descripción
│ └── ui/ # Primitivos UI (shadcn/ui + Radix)
│
├── hooks/ # Custom hooks
│ ├── useCodeComparator.ts # Lógica del comparador de códigos
│ ├── useCodeGenerator.ts # Lógica del generador de códigos
│ ├── useErrorMensaje.ts # Lógica de detección/corrección de errores
│ └── useMatrixInput.ts # Lógica de entrada de matrices
│
├── stores/ # Zustand stores
│ ├── useCodeStore.ts # Estado de matrices, codewords, parámetros
│ └── useValidationStore.ts # Estado de métodos de validación
│
├── lib/ # Utilidades y configuración
│ ├── actions.ts # Funciones de acción (cliente)
│ ├── actionsServer.ts # Server actions
│ ├── allCodigos.ts # Registro de todas las funcionalidades
│ ├── constants.ts # Constantes del proyecto
│ ├── searchParams.ts # Definiciones de parámetros URL (nuqs)
│ └── utils.ts # Utilidades generales (cn)
│
├── core/ # Lógica de negocio / matemáticas
│ ├── matriz.ts # Operaciones sobre matrices
│ ├── operaciones.ts # Operaciones algebraicas sobre F(q)
│ ├── general.ts # Funciones generales de códigos
│ ├── decodificacion.ts # Decodificación por síndromes
│ ├── equivalencia.ts # Equivalencia de códigos
│ ├── control/ # Matrices de control y validación
│ ├── especificos/ # EAN, ISBN, ISIN, Cíclicos, Reed-Solomon
│ └── personalizados/ # Generación y validación personalizada
│
├── content/ # Archivos Markdown (teoría)
│ ├── codigosLineales.md
│ ├── codigosGeneral.md
│ ├── Mgeneradora.md
│ ├── Mcontrol.md
│ ├── dHamming.md
│ ├── cHamming.md
│ ├── cReed-solomon.md
│ ├── decodificacion.md
│ ├── ean.md, isbn.md, isin.md
│ └── ... (15 archivos)
│
├── providers/
│ └── ThemeProvider.tsx # next-themes provider
│
├── types.d.ts # Tipos globales del proyecto
├── components.json # Configuración de shadcn/ui
├── postcss.config.js # PostCSS con @tailwindcss/postcss
├── tsconfig.json
└── next.config.mjs
# Instalar dependencias
pnpm install
# Desarrollo local
pnpm dev
# Build de producción
pnpm build
# Ejecutar en producción
pnpm start
# Lint
pnpm lint
Las páginas son Server Components por defecto. La interactividad se delega a Client Components ubicados lo más bajo posible en el árbol de componentes, envueltos en <Suspense> para streaming.
Los parámetros de la aplicación (n, k, q, search, type, method, codigo, mensaje, etc.) se persisten en la URL mediante nuqs, permitiendo compartir estados y mantener compatibilidad con SSR.
El estado efímero de la sesión (matrices editadas, codewords generados, resultados de cálculos) se gestiona con Zustand en stores dedicados.
Los archivos .md en content/ se procesan con unified + remark + rehype + KaTeX y se generan como páginas estáticas en build time mediante generateStaticParams.
Este proyecto está licenciado bajo los términos de la licencia MIT. Consulta el archivo LICENSE para más detalles.