CodePulse: Motor de ejecución de código de alto rendimiento
Un Monorepo profesional con interfaz HTML independiente, backend Node.js, pruebas E2E y alta cobertura de control de calidad
Descripción general del proyecto
CodePulse es un monorepo de nivel profesional que muestra la excelencia en ingeniería de software con:
- Interfaz: Aplicación HTML independiente con CSS/JavaScript (interfaz tipo IDE)
- backend: Cloudflare Workers con TypeScript (servicio de informática de punta)
- Ejecución de código: Arquitectura híbrida basada 100% en la infraestructura Cloudflare donde JavaScript se ejecuta de forma nativa en el Edge a través de Workers y otros lenguajes utilizan simulación de IA determinista a través de Cloudflare Workers IA con temperatura cero
- Asistente de IA: Editor inteligente con asistente de IA integrado que analiza el código de usuario para ajustar automáticamente problemas de sangría, errores de sintaxis y errores tipográficos variables.
- Pruebas: Vitest (unidad), Dramaturgo (e2e), infraestructura de prueba integral
- CI/CD: GitHub Actions con pruebas, linting e implementaciones automatizadas
- Implementación: GitHub Páginas (Frontend) + Cloudflare Workers (Backend)
Excelencia en ingeniería y escaparate profesional
| Característica | Implementación | Impacto de la industria |
|---|---|---|
| Altos estándares de calidad | 85 %+ de cobertura y pruebas E2E | Reduce los defectos de software y los costos de mantenimiento. |
| La automatización primero | CI/CD completo (GitHub Actions) | Acelera el tiempo de comercialización de soluciones digitales |
| Monorepo escalable | Espacios de trabajo de hilo + TypeScript | Demuestra la gestión de sistemas empresariales complejos. |
| Nativo de la nube | Cloudflare Workers + IA de workers | Muestra la integración de IA y la computación de borde moderna sin servidor |
Implementación e integración
Configuración de implementación
Servidor (Cloudflare Workers)
- Implementación automática a través de GitHub Actions
- JavaScript ejecución nativa en el Edge a través de Workers
- Simulación de IA determinista para Python, Java, C++ mediante Cloudflare Workers IA con temperatura cero
- Arquitectura de vanguardia para una latencia mínima
Interfaz (GitHub páginas)
- Implementación directa a través de GitHub Actions
- Alojado en
https://pklavc.com/codepulse-monorepo - No se requiere proceso de compilación (HTML independiente)
Stack tecnológico
| capa | Tecnología | Versión |
|---|---|---|
| Interfaz | HTML5 / CSS3 / Vanilla JS (independiente) | moderno |
| Partícula.js | Lo último | |
| backend | Node.js | 20.x |
| Fastificar | 4.x | |
| TypeScript | 5.x | |
| Ejecución de código | Glot.io API | Lo último |
| Pruebas | vitest | Lo último |
| dramaturgo | Lo último | |
| CI/CD | GitHub Actions | - |
| Calidad del código | ESLint | Lo último |
| códigocov | - |
Estructura del proyecto
Flujo de interacción del sistema
graph LR
A[Frontend: HTML/CSS/JS] -->|API Calls| B[Backend: Fastify/Node]
B -->|Glot.io API| C[Code Execution]
D[Playwright E2E] -->|Tests| A
D -->|Tests| B
E[CI/CD Pipeline] -->|Validates| D
codepulse-monorepo/
|-- frontend/ # Standalone HTML application
| |-- index.html # Main IDE application
| |-- src/ # Visual assets (GIFs, Logos, Icons)
| | |-- code.gif
| | |-- doc.gif
| | |-- logo.png
| | |-- play.gif
| | `-- return.gif
| |-- package.json
| `-- vite.config.ts
|-- backend/ # Node.js + Fastify API
| |-- src/
| | |-- server.ts
| | |-- server.test.ts
| | `-- services/
| | `-- glot.service.ts
| |-- package.json
| `-- tsconfig.json
|-- e2e/ # Playwright end-to-end tests
| |-- tests/
| |-- package.json
| `-- playwright.config.ts
|--.github/workflows/ # CI/CD pipelines
| `-- ci.yml
|-- package.json # Root workspace configuration
`-- README.md # This file
Inicio rápido
Requisitos previos
- Node.js 20.x o superior
- NPM 9.x o superior
Instalación
# Install dependencies across all workspaces
npm install
Desarrollo
# Start backend in development mode
cd backend && npm run dev
# Frontend runs directly from index.html (no build required)
# Open frontend/index.html in browser to test
Pruebas
# Run all tests
npm test
# With coverage report
npm run test:coverage
# E2E tests
cd e2e && npm test
construir
# Build backend only
cd backend && npm run build
# Frontend: No build required. The frontend runs as a high-performance standalone HTML application.
pelusa
# Lint backend packages
cd backend && npm run lint
# Format code
npm run format
Pruebas y control de calidad
Pruebas de interfaz
- Pruebas manuales: Prueba directa del navegador a través de
frontend/index.html - No se requiere construcción: Aplicación HTML independiente
- Verificación visual: Efectos de partículas, diseño responsivo, ejecución de código.
Pruebas de backend
- Pruebas unitarias: Vitest con servicios burlados
- Cobertura: En desarrollo (estructura de prueba básica implementada)
- Configuración:
backend/vitest.config.ts - API Pruebas: Acelere los endpoints del servidor y la integración de Glot.io
Pruebas E2E
- Marco: Dramaturgo
- Navegadores: Cromo, Firefox, WebKit
- Configuración:
e2e/playwright.config.ts - Escenarios de prueba: flujo de trabajo de ejecución de código, manejo de errores, escenarios de tiempo de espera
Resumen de métricas de control de calidad
- Pruebas unitarias: Vitest (estructura de prueba de backend implementada)
- Pruebas E2E: Dramaturgo (verificación entre navegadores)
- Pruebas manuales: Funcionalidad IDE de interfaz de usuario
- Análisis estático: ESLint + TypeScript (modo estricto)
- Seguimiento continuo: Integración de Codecov para regresión de cobertura
Ejecución de código
Soporte multilingüe: Python, JavaScript, Java, C++, C#, PHP, Go, Ruby
Flujo de ejecución:
- El usuario escribe código en el área de texto
- Selecciona el lenguaje de programación del menú desplegable
- Hace clic en el botón "Ejecutar" o usa Ctrl+Enter
- Código enviado al backend mediante recuperación API
- El backend ejecuta código usando la API Glot.io
- Resultados mostrados en el área de salida
Pipeline de CI/CD
Flujo de trabajo automatizado (.github/workflows/ci.yml)
Trabajo de prueba y pelusa
- Se ejecuta en: Push to main, Pull request
- Node.js versiones: 20.x
- Pasos:
- código de pago
- Instalar Node.js
- Instalar dependencias con NPM
- Ejecute ESLint
- Ejecute pruebas unitarias con cobertura
- Subir cobertura a Codecov
Trabajo de implementación frontend
- Se ejecuta después de que lint-and-test tenga éxito
- Copias
frontend/directorio directamente a GitHub Páginas - No se requiere proceso de compilación (HTML independiente)
- Estado: [OK] Marca de verificación verde
Insignias de estado
- Pipeline de CI/CD: Automática desde GitHub Actions
- Cobertura de código: desde la integración de Codecov
Cobertura del código
- Interfaz: Enfoque de prueba manual (aplicación HTML independiente)
- backend: Infraestructura de prueba implementada (se implementarán métricas de cobertura)
- En general: Marco de prueba listo para la implementación de cobertura
- Integración de Codecov para seguimiento continuo
API Documentación
Endpoints del backend de APIs:
GET /api/health - Health check
POST /api/execute - Execute code (POST variant)
Variables de entorno
Servidor (.env)
NODE_ENV=production
PORT=3001
CORE_ALLOWED_ORIGINS=*
EXECUTION_TIMEOUT=5000
GLOT_API_URL=https://run.glot.io
GLOT_API_TOKEN=your_glot_api_token
Frontend (.env.producción)
VITE_API_URL=https://codepulse-monorepo-backend.onrender.com
VITE_APP_NAME=CodePulse
Documentación
- Configuración de interfaz: Ver espacio de trabajo frontal
- Configuración de backend: Ver espacio de trabajo backend
- Pruebas E2E: Ver notas de pruebas y control de calidad
Contribuyendo
¡Las contribuciones son bienvenidas! Por favor asegúrese de:
- Todas las pruebas pasan:
npm test - El código está lintado:
npm run lint - Se mantiene la cobertura:
npm run test:coverage - Los mensajes de confirmación siguen a las confirmaciones convencionales.
- Los cambios de frontend se prueban manualmente a través de
frontend/index.html - Los cambios en el backend mantienen la compatibilidad con la integración de Glot.io
Hoja de ruta
- Fase 1: Motor central y arquitectura Monorepo
- Fase 2: Auditoría de seguridad y aplicación de variables ambientales
- Fase 3: Automatización n8n e integración PostgreSQL
- Fase 4: Soporte avanzado de WebContainer para ejecución local
Licencia
Licencia MIT: consulte la notas de licencia en el repositorio para más detalles.
Seguridad e investigación
Hito de seguridad 1: completado [OK]
CP-SEC-001: Exposición de token API codificada
- Estado: [COMPLETADO]
- Encontrar: token de la API Glot.io codificado en el código fuente
- Impacto: Posible abuso de API e interrupción del servicio
- Mitigación: Se movieron las credenciales solo a variables de entorno
- Fecha: marzo de 2026
Investigación de seguridad
Este proyecto sirve como plataforma de investigación de seguridad para:
- Análisis estático (SAST): ESLint, TypeScript modo estricto, SonarQube
- Pruebas dinámicas (DAST): Dramaturgo, OWASP ZAP, guiones personalizados
- Investigación de vulnerabilidad: RCE, inyección de comandos, seguridad de contenedores
- Desarrollo seguro: Implementación y validación de mejores prácticas
Autor
Patrick Araujo - Ingeniero Informático
GitHub: https://github.com/PkLavc
Portafolio: https://pklavc.com/projects/
CodePulse - Una arquitectura monorepo de alto rendimiento para el desarrollo moderno de aplicaciones full-stack.