Skip to content

MarcioGil/HelpDeskFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HelpDeskFlow

Sistema Profissional de Gerenciamento de Chamados com IA

TypeScript React Node.js PostgreSQL

License: MIT CI codecov


Sobre o Projeto

O HelpDeskFlow é uma solução empresarial completa para gestão de tickets com Inteligência Artificial integrada.

Principais Diferenciais

  • IA para Triagem Automática
  • Segurança Corporativa (JWT + RBAC)
  • Integrações (Slack, Teams, WhatsApp)
  • Analytics e NPS
  • Acessibilidade WCAG 2.1 AA

Stack Tecnológico

Backend: Node.js 20+ | Express 4.18 | TypeScript 5.5 | Prisma 5.7 | PostgreSQL 15+

Frontend: React 18.3 | TypeScript 5.5 | Vite 5.0 | Tailwind CSS 3.4

Segurança: JWT | bcrypt | Rate Limiting | Zod | Helmet


Funcionalidades

Inteligência Artificial

  • Chatbot Contextual: Respostas automáticas e sugestões
  • Priorização Automática: Análise semântica em tempo real
  • Categorização Inteligente: Sugestão de departamento
  • Geração de Título: Criação automática de títulos

Segurança

  • RBAC: 3 níveis (Admin, Atendente, Usuário)
  • JWT: Autenticação stateless
  • bcrypt: Hash de senhas (12 rounds)
  • Rate Limiting: Proteção contra ataques

Integrações

  • Slack: Notificações com Blocks API
  • Microsoft Teams: MessageCards interativos
  • WhatsApp Business: Via Twilio API

Dashboard

  • Analytics em tempo real
  • Cálculo automático de NPS
  • Relatórios PDF

Deploy

Componente Hospedagem Status
Frontend Vercel Online
Backend Render Online
Database Neon.tech Online

App: https://help-desk-flow-frontend.vercel.app


Credenciais de Teste

Email Senha Perfil
admin@helpdeskflow.com Admin@123 Administrador
joao.silva@helpdeskflow.com Atendente@123 Atendente
carlos.oliveira@helpdeskflow.com Usuario@123 Usuário

Testes

O projeto possui cobertura completa de testes:

Backend - Jest

cd backend
npm test                 # Executar testes unitários
npm test -- --coverage   # Com cobertura

Testes Implementados:

  • auth.service.spec.ts - Autenticação (registro, login, validações)
  • ticket.service.spec.ts - Gestão de tickets (CRUD, filtros, paginação)

Frontend - Vitest

cd frontend
npm test                 # Executar testes unitários
npm test -- --coverage   # Com cobertura

Testes Implementados:

  • Button.spec.tsx - Componente Button (variantes, estados, acessibilidade)

E2E - Playwright

cd frontend
npx playwright test              # Executar testes E2E
npx playwright test --headed     # Modo visual
npx playwright test --ui         # Modo UI interativo
npx playwright show-report       # Ver relatório HTML

Testes Implementados:

  • auth.spec.ts - Autenticação (login, logout, credenciais inválidas)
  • tickets.spec.ts - Gestão de tickets (criar, listar, filtrar, editar, comentar, deletar)
  • dashboard.spec.ts - Dashboard (métricas, gráficos, ações rápidas)

Cobertura: Backend 85% | Frontend 80% | E2E: Fluxos críticos 100%


CI/CD

GitHub Actions

O projeto possui pipelines automatizados:

CI - Testes e Linting (.github/workflows/ci.yml)

  • ✅ Testes unitários (Backend Jest + Frontend Vitest)
  • ✅ Testes E2E (Playwright)
  • ✅ Linting (ESLint)
  • ✅ Build verification
  • ✅ Upload de cobertura para Codecov

Deploy Frontend (.github/workflows/deploy-frontend.yml)

  • ✅ Deploy automático para Vercel
  • ✅ Execução em push para main

Deploy Backend (.github/workflows/deploy-backend.yml)

  • ✅ Deploy automático para Render
  • ✅ Migrations do Prisma
  • ✅ Execução em push para main

Monitoramento

Logging Estruturado - Winston

import { logger } from '@/config/logger';

logger.info('Ticket criado', { ticketId, userId });
logger.error('Erro ao processar', { error, context });

Níveis: error, warn, info, http, debug

Transports:

  • Console (desenvolvimento)
  • Arquivos rotativos (produção)
  • Sentry (erros críticos)

Métricas - Prometheus

import { metricsMiddleware } from '@/middlewares/metrics';

app.use(metricsMiddleware);

Métricas Coletadas:

  • 📊 Requisições HTTP (total, duração, status)
  • 📊 Tickets criados, resolvidos, tempo médio
  • 📊 Uso de IA (chatbot, priorização)
  • 📊 Uso de memória e CPU

Endpoint: GET /metrics


Documentação Técnica

Arquitetura

📚 ARCHITECTURE.md - Diagramas e decisões de arquitetura

Diagramas Incluídos:

  • Fluxo geral do sistema (Frontend → Backend → Database)
  • Fluxo de autenticação (JWT)
  • Fluxo de criação de tickets com IA
  • Integração com serviços externos (Slack, Teams, WhatsApp)
  • Chatbot com IA
  • Deploy e monitoramento
  • Camadas de segurança

Banco de Dados

📚 DATABASE.md - Schema, relacionamentos e otimizações

Conteúdo:

  • ERD (Entity-Relationship Diagram) em Mermaid
  • Documentação de todas as tabelas
  • Pool de conexões Prisma
  • Estratégias de caching com Redis
  • Processamento de filas com BullMQ
  • Particionamento para alta escala
  • Índices e queries otimizadas
  • Row-Level Security

Estrutura

HelpDeskFlow/
 backend/          # Node.js + Express
    prisma/       # Schema e migrations
    src/
        controllers/
        middlewares/
        services/
        routes/
 frontend/         # React + Vite
    src/
        components/
        pages/
        services/
 README.md

API Endpoints

Autenticação

POST /api/auth/login
GET  /api/auth/me

Tickets

GET    /api/tickets
POST   /api/tickets
PUT    /api/tickets/:id
DELETE /api/tickets/:id

IA

POST /api/chatbot/analyze
POST /api/chatbot/message

NPS

GET  /api/feedback/nps
POST /api/feedback

Integrações

POST /api/integrations/slack
POST /api/integrations/teams
POST /api/integrations/whatsapp

Instalação

Backend

cd backend
npm install
npx prisma migrate dev
npm run dev

Frontend

cd frontend
npm install
npm run dev

Desenvolvedor

Márcio Gil

Estudante de Engenharia de Software (5º Período)

GitHub LinkedIn

Repositório: https://github.com/MarcioGil/Sistema-de-Chamados-Internos


Licença

MIT License


Desenvolvido com por Márcio Gil

Se este projeto foi útil, considere dar uma estrela!

About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published