TeamFlow
Product Requirements Document
Versão 1.1 · Março 2026
Autor: Nicolas Fernando Clemente
Versão: 1.1
Status: Em desenvolvimento
Tipo: Web App + Chrome Extension
1. Visão do Produto
1.1 Objetivo
Construir uma plataforma web para gestão de demandas operacionais e validações de
transações de pedágio e Free Flow, permitindo que equipes registrem ocorrências,
acompanhem tarefas e mantenham histórico auditável de todas as ações.
O sistema será acessível via navegador e contará com uma extensão para navegador que
permite executar tarefas sem interromper o fluxo de trabalho do operador.
1.2 Problema que resolve
Equipes operacionais frequentemente enfrentam problemas como:
• Registros de validações espalhados em planilhas
• Falta de rastreabilidade nas análises
• Falta de visibilidade sobre tarefas pendentes
• Dificuldade de consultar histórico de ocorrências
• Processos manuais demorados para registrar casos
Essas limitações geram:
● retrabalho
● baixa produtividade
● inconsistência de dados
O TeamFlow centraliza todas as operações em um único sistema interno.
1.3 Resultado esperado
Uma plataforma interna que fornece:
• Registro estruturado de validações operacionais
• Gestão de tarefas por times
• Histórico auditável completo
• Notificações operacionais
• Cliente leve via extensão do navegador
2. Roadmap de versões
O produto será desenvolvido em fases incrementais.
Fas Escopo
e
V1 Autenticação + registros de
validação
V2 Times e gestão de tarefas
V3 Extensão Chrome com Side Panel
V4 Sistema de notificações e tempo real
3. Stack Técnica
A stack foi escolhida priorizando simplicidade, produtividade e escalabilidade futura.
Camada Tecnologia
Backend [Link] + Express
Banco de dados SQLite (V1) → PostgreSQL (V2+)
Frontend React + TypeScript
Build frontend Vite
ORM Prisma
Autenticação JWT
Tempo real Polling (V1) → WebSocket (V2+)
Extensão Manifest V3
Chrome
Hospedagem Railway / Render
Justificativa:
SQLite permite deploy simples sem infraestrutura de banco dedicada.
Para até 10 usuários simultâneos, atende perfeitamente.
4. Arquitetura do Sistema
Frontend Web (React + TypeScript)
│
│ REST API (JSON)
▼
Backend ([Link] + Express)
│
▼
Database (SQLite)
Extensão Chrome:
Chrome Extension (Side Panel)
│
▼
Backend API
A extensão e o web app compartilham a mesma API.
5. Personas
Líder de Time
Responsável por gerenciar atividades da equipe.
Responsabilidades:
• Criar tarefas
• Atribuir tarefas a membros
• Aprovar exclusões
• Monitorar progresso do time
• Acessar histórico completo
Membro do Time
Executa tarefas e registra ocorrências.
Responsabilidades:
• Executar tarefas atribuídas
• Atualizar status
• Registrar casos anormais
• Solicitar exclusão de tarefas
• Consultar histórico
6. Módulo de Registros (V1)
Primeiro módulo funcional da plataforma.
Permite registrar validações operacionais de transações.
6.1 Autenticação
Funcionalidades:
• Registro de usuário
• Login com email e senha
• Logout
• Rotas protegidas por token JWT
Campos de registro:
● nome
● email
● senha
Senhas armazenadas com bcrypt.
6.2 Campos do Registro
Campo Tipo
TAG da transação Texto
Placa do veículo Texto
Status da transação Seleçã
o
Praça ou pórtico Texto
Data do trânsito Data
Forma de pagamento Seleçã
o
Emissora da TAG Texto
Descrição do Texto
problema
Foto frontal Nota
Foto lateral Nota
Foto traseira Nota
Foto panorâmica Nota
Escala de avaliação:
1 = Ilegível
2 = Ruim
3 = Regular
4 = Boa
5 = Ótima
0 = Sem foto
6.3 Visualização de registros
Tela de listagem com tabela paginada.
Filtros combináveis:
• intervalo de data
• status da transação
• forma de pagamento
• praça/pórtico
• placa (busca parcial)
• TAG (busca parcial)
• palavra-chave na descrição
Cada linha pode ser expandida para exibir detalhes completos.
6.4 Regras de negócio
• Usuário pode criar registros
• Usuário pode editar seus próprios registros
• Usuário pode excluir seus próprios registros
• Todos usuários podem visualizar registros de todos
• created_at gerado pelo servidor
7. Times e Tarefas (V2)
Adiciona colaboração entre membros da equipe.
7.1 Times
Funcionalidades:
• criação de time
• convite de membros
• associação de usuários ao time
Papéis:
LEADER
MEMBER
Cada usuário pertence a um único time.
7.2 Tarefas
Líder pode:
• criar tarefas
• atribuir membros
• editar tarefas
• excluir tarefas
Membro pode:
• visualizar tarefas do time
• atualizar status
• solicitar exclusão
Status possíveis:
pending
in_progress
done
deletion_requested
deletion_rejected
7.3 Fluxo de exclusão
1 — membro solicita exclusão
2 — status muda para deletion_requested
3 — líder recebe notificação
Decisão do líder:
• aprovar → tarefa excluída
• rejeitar → status volta ao anterior
7.4 Histórico de tarefas
Toda ação gera registro no audit log.
Eventos registrados:
● tarefa criada
● tarefa editada
● status atualizado
● solicitação de exclusão
● exclusão aprovada
● exclusão rejeitada
8. Sistema de Notificações
Usuários recebem notificações quando eventos relevantes acontecem.
Eventos que geram notificação:
• nova tarefa atribuída
• solicitação de exclusão
• exclusão aprovada ou rejeitada
• comentário ou atualização de tarefa
As notificações podem ser:
● visualizadas no sistema
● exibidas na extensão
9. Extensão Chrome (V3)
Cliente leve para execução rápida de tarefas.
Construída usando Chrome Extensions Manifest V3.
9.1 Side Panel
A extensão utiliza Side Panel retrátil.
Vantagens:
• permanece aberta durante navegação
• não perde estado do formulário
• melhora produtividade
Interface:
┌───────────────┐
│ TeamFlow │
├───────────────┤
│ Notificações │
│ Minhas tarefas│
│ Registrar caso│
└───────────────┘
9.2 Badge de notificações
O ícone da extensão exibe contador de notificações.
Exemplo:
TeamFlow 🔴3
Badge mostra:
• tarefas pendentes
• notificações não lidas
9.3 Tela de notificações
A extensão possui painel de notificações com:
● lista cronológica
● marcação como lida
● link para tarefa relacionada
9.4 Funcionalidades da extensão
• login com credenciais da plataforma
• visualizar tarefas atribuídas
• atualizar status
• solicitar exclusão de tarefas
• registrar validações
• visualizar notificações
9.5 Restrições
Extensão não pode:
• excluir tarefas diretamente
• acessar dados de outros times
• funcionar offline
10. Modelo de Dados
Users
Campo Tipo
id integer
name text
email text
password_has text
h
role text
team_id integer
created_at datetim
e
ValidationRecords
Campo Tipo
id integer
tag text
plate text
transaction_status text
toll_plaza text
transit_date date
payment_method text
tag_issuer text
problem_description text
photo_front integer
photo_side integer
photo_rear integer
photo_panoramic integer
created_by integer
created_at datetim
e
Tasks
Campo Tipo
id integer
title text
description text
assigned_t integer
o
status text
created_by integer
team_id integer
created_at datetim
e
updated_at datetim
e
TaskHistory
Campo Tipo
id integer
task_id integer
action text
user_id integer
metadata json
timestamp datetim
e
Notifications
Campo Tipo
id integer
user_id integer
type text
reference_i integer
d
message text
is_read boolean
created_at datetim
e
11. API Endpoints
Auth
POST /api/v1/auth/register
POST /api/v1/auth/login
Registros
GET /api/v1/records
GET /api/v1/records/:id
POST /api/v1/records
PUT /api/v1/records/:id
DELETE /api/v1/records/:id
Tarefas
GET /api/v1/tasks
POST /api/v1/tasks
PUT /api/v1/tasks/:id
DELETE /api/v1/tasks/:id
POST /api/v1/tasks/:id/request-deletion
Notificações
GET /api/v1/notifications
PUT /api/v1/notifications/:id/read
12. Diretrizes de UI/UX
Estilo visual:
• design minimalista
• baixa carga cognitiva
• tipografia moderna
• interface focada em produtividade
Tipografia:
Inter / System UI
Paleta:
Uso Cor
Background #F8FAFC
Primary #2563EB
Success #22C55E
Danger #EF4444
13. Requisitos Não Funcionais
Requisito Definição
Acesso Sistema interno protegido por login
Usuários 2 a 10 usuários (V1)
simultâneos
Autenticação JWT
Segurança bcrypt + middleware de
autenticação
Responsividade Desktop e tablet
Auditabilidade Todas ações registradas
Deploy Railway ou Render
Tempo real Polling V1 → WebSocket V2
Conclusão
O TeamFlow é uma plataforma interna focada em organizar processos operacionais de
validação e gestão de tarefas, com forte foco em:
● rastreabilidade
● produtividade
● simplicidade de uso
A combinação de web app + extensão de navegador com side panel permite integrar o
sistema diretamente ao fluxo de trabalho dos operadores.