Engenharia Full Stack

CodePulse Monorepo | Baunilha JavaScript

IDE on-line de alto desempenho desenvolvido como um aplicativo HTML independente com backend robusto Node.js e cobertura de controle de qualidade superior a 85%

CodePulse interface IDE do compilador online mostrando o editor de código, controles de execução de linguagem e espaço de trabalho de saída
CodePulse empacota uma experiência IDE de navegador com uma execução de APIs em Node.js, tornando o fluxo de trabalho de front-end, backend e controle de qualidade visível como uma superfície de produto monorepo.

Contexto do problema, stack e tipo de sistema

Este projeto demonstra padrões de engenharia de backend Node.js em uma configuração monorepo com execução de APIs e fluxos de trabalho de automação de qualidade, incluindo cobertura de teste e comportamento de CI.

Escopo Técnico

  • Stack: JavaScript, Node.js, Fastify, Playwright, fluxos de trabalho de CI
  • Tipo de sistema: backend da APIs em Node.js, sistema de automação, pipeline de entrega
  • Palavras-chave no contexto: desenvolvedor javascript, backend Node.js, automação

Projetos de backend relacionados: Multi-Tenant SaaS Platform e Event-Driven Integration Service.

Documentação completa do projeto

CodePulse: Mecanismo de execução de código de alto desempenho

Código Fonte Portfólio Autor

Um Monorepo profissional com front-end HTML independente, backend Node.js, testes E2E e alta cobertura de controle de qualidade

Pipeline de CI/CD Cobertura CodeCov Interface: HTML + CSS + JavaScript Backend: Node.js + Fastify Testes E2E: Dramaturgo Licença: MIT

Visão geral do projeto

CodePulse é um monorepo de nível profissional que apresenta excelência em engenharia de software com:

  • Interface: Aplicativo HTML autônomo com CSS/JavaScript (interface semelhante a IDE)
  • Backend: Cloudflare Workers com TypeScript (serviço de computação de borda)
  • Execução de Código: Arquitetura híbrida baseada 100% na infraestrutura Cloudflare onde JavaScript é executado nativamente no Edge através de Workers e outras linguagens utilizam simulação determinística de IA via Cloudflare Workers IA com temperatura zero
  • Assistente de IA: Editor inteligente com assistente de IA integrado que analisa o código do usuário para ajustar automaticamente problemas de recuo, erros de sintaxe e erros de digitação de variáveis
  • Teste: Vitest (unidade), Playwright (e2e), infraestrutura de teste abrangente
  • CI/CD: GitHub Actions com testes automatizados, linting e implantações
  • Implantação: GitHub Páginas (front-end) + Cloudflare Workers (backend)

Excelência em engenharia e vitrine profissional

Recurso Implementação Impacto na indústria
Altos padrões de controle de qualidade Mais de 85% de cobertura e testes E2E Reduz defeitos de software e custos de manutenção
Automação primeiro CI/CD completo (GitHub Actions) Acelera o tempo de colocação no mercado de soluções digitais
Monorepo escalável Espaços de trabalho de fios + TypeScript Demonstra o gerenciamento de sistemas empresariais complexos
Nativo da nuvem Cloudflare Workers + IA de workers Apresenta computação moderna sem servidor e integração de IA

Implantação e Integração

Configuração de implantação

Backend (Cloudflare Workers)

  • Implantação automática via GitHub Actions
  • JavaScript execução nativamente no Edge via Workers
  • Simulação determinística de IA para Python, Java, C++ via Cloudflare Workers AI com temperatura zero
  • Arquitetura de ponta para latência mínima

Front-end (GitHub páginas)

  • Implantação direta via GitHub Actions
  • Hospedado em https://pklavc.com/codepulse-monorepo
  • Nenhum processo de construção necessário (HTML independente)

Stack tecnológica

Camada Tecnologia Versão
Interface HTML5 / CSS3 / Vanilla JS (autônomo) Moderno
Partícula.js Mais recente
Backend Node.js 20.x
Fastificar 4.x
TypeScript 5.x
Execução de Código Glot.io API Mais recente
Teste Teste Mais recente
Dramaturgo Mais recente
CI/CD GitHub Actions -
Qualidade do código ESLint Mais recente
Codecov -

Estrutura do Projeto

Fluxo de interação do 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

Início rápido

Pré-requisitos

  • Node.js 20.x ou superior
  • NPM 9.x ou superior

Instalação

# Install dependencies across all workspaces
npm install

Desenvolvimento

# 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

Teste

# 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.

Linting

# Lint backend packages
cd backend && npm run lint

# Format code
npm run format

Teste e controle de qualidade

Teste de front-end

  • Teste Manual: Teste direto do navegador via frontend/index.html
  • Nenhuma construção necessária: Aplicativo HTML independente
  • Verificação Visual: Efeitos de partículas, design responsivo, execução de código

Teste de backend

  • Testes unitários: Vitest com serviços simulados
  • Cobertura: Em desenvolvimento (estrutura básica de teste implementada)
  • Configuração: backend/vitest.config.ts
  • API Teste: Acelere os endpoints do servidor e a integração Glot.io

Teste E2E

  • Estrutura: Dramaturgo
  • Navegadores: Cromo, Firefox, WebKit
  • Configuração: e2e/playwright.config.ts
  • Cenários de teste: Fluxo de trabalho de execução de código, tratamento de erros, cenários de tempo limite

Instantâneo de métricas de controle de qualidade

  • Teste de Unidade: Vitest (estrutura de teste de backend implementada)
  • Teste E2E: Dramaturgo (verificação entre navegadores)
  • Teste Manual: Funcionalidade IDE de front-end
  • Análise Estática: ESLint + TypeScript (modo estrito)
  • Rastreamento Contínuo: Integração Codecov para regressão de cobertura

Execução de Código

Suporte multilíngue: Python, JavaScript, Java, C++, C#, PHP, Go, Ruby

Fluxo de Execução:

  1. O usuário escreve o código na textarea
  2. Seleciona a linguagem de programação no menu suspenso
  3. Clica no botão "Executar" ou usa Ctrl+Enter
  4. Código enviado ao backend via fetch API
  5. O backend executa código usando a API Glot.io
  6. Resultados exibidos na área de saída

Pipeline de CI/CD

Fluxo de trabalho automatizado (.github/workflows/ci.yml)

  1. Lint e trabalho de teste

    • Funciona em: Push to main, solicitações pull
    • Node.js versões: 20.x
    • Etapas:
      • Código de check-out
      • Instalar Node.js
      • Instale dependências com NPM
      • Execute o ESLint
      • Execute testes unitários com cobertura
      • Carregar cobertura para Codecov
  2. Trabalho de implantação de front-end

    • É executado após o sucesso do lint-and-test
    • Cópias frontend/ diretório diretamente para GitHub páginas
    • Nenhum processo de construção necessário (HTML independente)
    • Status: [OK] Marca de seleção verde
  3. Emblemas de status

    • Pipeline CI/CD: Automático de GitHub Actions
    • Cobertura de código: da integração Codecov

Cobertura de código

  • Interface: Abordagem de teste manual (aplicativo HTML independente)
  • Backend: Infraestrutura de teste implementada (métricas de cobertura a serem implementadas)
  • Geral: Estrutura de teste pronta para implementação de cobertura
  • Integração Codecov para rastreamento contínuo

API Documentação

Pontos de extremidade de backend de APIs:

GET  /api/health - Health check
POST /api/execute - Execute code (POST variant)

Variáveis de ambiente

Backend (.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

Front-end (.env.production)

VITE_API_URL=https://codepulse-monorepo-backend.onrender.com
VITE_APP_NAME=CodePulse

Documentação

Contribuindo

Contribuições são bem-vindas! Certifique-se de:

  1. Todos os testes passam: npm test
  2. O código está lintado: npm run lint
  3. A cobertura é mantida: npm run test:coverage
  4. Mensagens de commit seguem commits convencionais
  5. As alterações de front-end são testadas manualmente por meio de frontend/index.html
  6. Mudanças de backend mantêm a compatibilidade de integração Glot.io

Roteiro

  • Fase 1: Motor principal e arquitetura Monorepo
  • Fase 2: Auditoria de segurança e aplicação de variáveis ambientais
  • Fase 3: Automação n8n e integração PostgreSQL
  • Fase 4: Suporte avançado ao WebContainer para execução local

Licença

Licença MIT - veja o notas de licença no repositório para obter detalhes.

Segurança e Pesquisa

Marco de segurança 1: concluído [OK]

CP-SEC-001: Exposição de token API codificada

  • Estado: [CONCLUÍDO]
  • Achado: token da API Glot.io codificado no código-fonte
  • Impacto: Potencial abuso de API e interrupção do serviço
  • Mitigação: credenciais movidas apenas para variáveis de ambiente
  • Data: março de 2026

Pesquisa de segurança

Este projeto serve como uma plataforma de pesquisa de segurança para:

  • Análise Estática (SAST): ESLint, TypeScript modo estrito, SonarQube
  • Teste Dinâmico (DAST): Dramaturgo, OWASP ZAP, roteiros personalizados
  • Pesquisa de vulnerabilidade: RCE, injeção de comando, segurança de contêiner
  • Desenvolvimento Seguro: Implementação e validação de melhores práticas

Autor

Patrick Araujo - Engenheiro de Computação
GitHub: https://github.com/PkLavc
Portfólio: https://pklavc.com/projects/


CodePulse - Uma arquitetura monorepo de alto desempenho para desenvolvimento de aplicativos full-stack modernos.

GitHub Sponsors

Stack tecnológica

Baunilha JavaScript
Fastificar
Glot.io
Dramaturgo
Node.js

Veja o projeto