Ingeniería de stack completo

CodePulse Monorepo | Vainilla JavaScript

IDE en línea de alto rendimiento creado como una aplicación HTML independiente con un backend robusto Node.js y una cobertura de control de calidad superior al 85 %

CodePulse interfaz IDE del compilador en línea que muestra el editor de código, los controles de ejecución del lenguaje y el espacio de trabajo de salida
CodePulse empaqueta una experiencia IDE de navegador con una ejecución de APIs en Node.js, lo que hace que el flujo de trabajo frontend, backend y control de calidad sean visibles como una superficie de producto monorepo.

Contexto del problema, stack y tipo de sistema

Este proyecto demuestra los patrones de ingeniería backend Node.js en una configuración monorepo con APIs de ejecución y flujos de trabajo de automatización de calidad, incluida la cobertura de pruebas y el comportamiento de CI.

Alcance técnico

  • Stack: JavaScript, Node.js, Fastify, Dramaturgo, flujos de trabajo de CI
  • Tipo de sistema: backend de la APIs con Node.js, sistema de automatización, canal de entrega
  • Palabras clave en contexto: desarrollador javascript, backend Node.js, automatización

Proyectos backend relacionados: Multi-Tenant SaaS Platform y Event-Driven Integration Service.

Documentación completa del proyecto

CodePulse: Motor de ejecución de código de alto rendimiento

Código fuente Portafolio Autor

Un Monorepo profesional con interfaz HTML independiente, backend Node.js, pruebas E2E y alta cobertura de control de calidad

Pipeline de CI/CD Cobertura de CodeCov Interfaz: HTML + CSS + JavaScript Backend: Node.js + Fastify Pruebas E2E: Dramaturgo Licencia: MIT

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:

  1. El usuario escribe código en el área de texto
  2. Selecciona el lenguaje de programación del menú desplegable
  3. Hace clic en el botón "Ejecutar" o usa Ctrl+Enter
  4. Código enviado al backend mediante recuperación API
  5. El backend ejecuta código usando la API Glot.io
  6. Resultados mostrados en el área de salida

Pipeline de CI/CD

Flujo de trabajo automatizado (.github/workflows/ci.yml)

  1. 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
  2. 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
  3. 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

Contribuyendo

¡Las contribuciones son bienvenidas! Por favor asegúrese de:

  1. Todas las pruebas pasan: npm test
  2. El código está lintado: npm run lint
  3. Se mantiene la cobertura: npm run test:coverage
  4. Los mensajes de confirmación siguen a las confirmaciones convencionales.
  5. Los cambios de frontend se prueban manualmente a través de frontend/index.html
  6. 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.

GitHub Sponsors

Stack tecnológico

Vainilla JavaScript
Fastificar
glot.io
dramaturgo
Node.js

Ver el proyecto