Concluído Profissional laravel postgres redis openIA IA React NextJS

Connecta Skills APP - Sistema para aplicação e desenvolvimento de PDI

Connecta Skills APP - Sistema para aplicação e desenvolvimento de PDI

Connecta Skills — Descritivo Técnico

Next.jsReactTypeScriptTailwindCSSRadix UIZustandAxiosReact Hook Form + Zod

PHPLaravelLaravel PassportLaravel SanctumPostgreSQLPHPUnitTwilioOpenAIScribe


1. Visão Geral

O Connecta Skills é composto por dois projetos separados: connecta-front, uma aplicação Next.js 14 (App Router) responsável pelo painel administrativo, portal do colaborador e páginas públicas de resposta de formulário; e connecta-back, uma API Laravel 11 que centraliza regras de negócio, persistência multi-tenant, geração de PDI via IA e disparo de notificações por e-mail e WhatsApp.

A comunicação entre as camadas é feita via REST/JSON, com autenticação por token Bearer (OAuth2 via Laravel Passport) e um cabeçalho customizado de identificação de empresa (tenant) em rotas do grupo /empresas.


2. Arquitetura

O Frontend do Admin é feito em Next.js 14 (App Router) + TypeScript, portal do colaborador, formulário público de resposta UI Radix UI (shadcn/ui) + TailwindCSS + Lucide Icons Componentes acessíveis, drag-and-drop (dnd-kit), tabelas (@tanstack/react-table) Estado/Formulários Zustand, React Hook Form, Zod Estado global de usuário/empresa, validação de formulários Comunicação HTTP Axios (instância única em app/services/api.tsx) Injeção de Bearer token e headers de tenant Backend API Laravel 11 (PHP 8.2) API REST, regras de negócio, multi-tenancy, jobs assíncronos Autenticação Laravel Passport (OAuth2 Password Grant) + Sanctum Emissão/validação de tokens de acesso da API Persistência PostgreSQL (banco central + 1 banco por empresa/tenant) Isolamento de dados por cliente Integrações OpenAI (PdiIaService), Twilio WhatsApp, Maatwebsite/Excel Geração de PDI por IA, envio de pesquisas via WhatsApp, import/export de planilhas e documentação da API usando o pacote Scribe.


3. Funcionalidades Principais


Frontend (connecta-front)

  • Painel administrativo com CRUD genérico reutilizável (DynamicCrudComponent) para empresas, pessoas, cargos, setores, competências, formulários, pesquisas e respondentes;
  • Construtor de formulários drag-and-drop (components/form-builder) com pré-visualização;
  • Fluxo de resposta pública de pesquisas via link com token (/respostas/formulario/[slug]), sem exigir login;
  • Portal do colaborador com autenticação própria, separada da autenticação administrativa;
  • Geração e visualização de PDI (Plano de Desenvolvimento Individual), incluindo status de geração assíncrona e exportação em PDF (jsPDF + html2canvas);
  • Dashboards e relatórios com gráficos (Chart.js, Nivo) e mapas de calor de competências;
  • Importação/exportação de planilhas para cadastros em massa (pessoas, competências e formulários)


Backend (connecta-back)

  • Arquitetura multi-tenant: cada empresa possui banco de dados próprio;
  • Resolução de tenant por header customizado (InitializeTenancyByCnpjHeader) em todas as rotas do grupo /empresas;
  • Motor de pesquisas/formulários dinâmicos com perguntas, opções, pontuação por competência;
  • Geração de PDI assistida por IA (OpenAI) via job assíncrono (GerarPdiJob);
  • Envio de pesquisas e PDI por e-mail e WhatsApp (Twilio), processado via filas (queue jobs - Redis);
  • Sistema de permissões por nível de acesso (NivelPermissao, PermissaoService)

Screenshots