‹ ARQUIVO NB-C017 · .case · 2026·06

WorkHub — Banco de Horas e Controlo de Assiduidade

NB-C017 .case

O WorkHub é um produto de gestão de banco de horas e controlo de assiduidade. Cobre o registo de tempos de trabalho, o saldo de horas flexíveis, as ausências e a geração de relatórios e exportações, num único painel.

A aplicação assenta em Next.js 16 (App Router) com TypeScript, persistência em PostgreSQL através do Prisma e autenticação por credenciais com NextAuth. A camada de segundo fator usa TOTP: o segredo é apresentado como código QR (otplib mais qrcode) para emparelhar com uma aplicação autenticadora. A arquitetura separa rotas e UI, server actions, serviços de domínio e o acesso a dados, mantendo a lógica de negócio fora dos componentes.

O motor de cálculo trata horas suplementares, descanso compensatório e feriados, com simulador e importação assistida a partir de PDF. O mapa de ausências gere os períodos de férias e a respetiva exportação. Os relatórios saem em Excel (ExcelJS) e os indicadores são desenhados com ECharts. A suite de testes corre em Vitest.

  registo de tempo (cronómetro)
          |
          v
  +----------------------+
  |  motor banco-horas   |
  |  (extra/descanso)    |
  +----------------------+
          |
   +-------+--------+
   v                v
 relatorios      mapa ferias
 (Excel/charts)  (ausencias)
BRI assistente

Quer saber sobre um projeto, um serviço ou uma notícia recente? Pergunte. Conheço todo o conteúdo deste site.