Files
portifolio-evandrodevbr/lib/jogo/problemas.ts
T
evandro 67b32fcab3
CI / audit (push) Successful in 10m48s
CI / verify (push) Successful in 19m2s
CI / deploy (push) Successful in 2m14s
CI / e2e (push) Failing after 36m15s
feat(jogo): expediente dos mortos, jogo de zumbis em primeira pessoa
Etapa 1 inteira (logica com 100% de cobertura, cena 3D, toque, sons, bancada de desempenho, e2e) e a base da etapa 2 (mapa novo no Tiled, texturas, imagens dos itens, sons conferidos, golpe recortado e medido). Pagina /jogo fora do menu e do sitemap ate a medicao no celular.
2026-11-10 19:37:10 -03:00

193 lines
4.2 KiB
TypeScript

export type AreaId =
| "vender"
| "atender"
| "operar"
| "fiscal"
| "sistemas"
| "seguranca";
export type Problema = {
id: string;
area: AreaId;
nome: string;
solucao: string;
destino: string;
};
export const AREAS: Record<AreaId, string> = {
vender: "Vender e ser encontrado",
atender: "Atender",
operar: "Operar",
fiscal: "Fiscal e financeiro",
sistemas: "Sistemas e integrações",
seguranca: "Segurança e dados",
};
const DESTINO_DA_AREA: Record<AreaId, string> = {
vender: "/servicos/criacao-de-sites",
atender: "/servicos/atendimento-whatsapp-ia",
operar: "/servicos/engenharia-de-software",
fiscal: "/servicos/nota-fiscal-reforma-tributaria",
sistemas: "/servicos/arquitetura-de-software",
seguranca: "/servicos/arquitetura-de-software",
};
function p(
area: AreaId,
id: string,
nome: string,
solucao: string,
destino = DESTINO_DA_AREA[area],
): Problema {
return { id, area, nome, solucao, destino };
}
export const PROBLEMAS: readonly Problema[] = [
p(
"vender",
"site-que-ninguem-acha",
"Site que ninguém acha no Google",
"Site que aparece no Google",
),
p(
"vender",
"site-ruim-no-celular",
"Site que não abre direito no celular",
"Site que funciona no celular",
),
p("vender", "site-lento", "Site lento", "Site rápido"),
p(
"vender",
"catalogo-desatualizado",
"Catálogo desatualizado",
"Catálogo em dia",
),
p(
"vender",
"pedido-perdido-no-whatsapp",
"Pedido perdido no WhatsApp",
"Pedido organizado",
),
p(
"vender",
"pagamento-que-falha",
"Pagamento que falha",
"Pagamento funcionando",
),
p(
"atender",
"atraso-no-atendimento",
"Atraso no atendimento",
"Atendimento na hora",
),
p(
"atender",
"mesma-pergunta-cem-vezes",
"Mesma pergunta respondida cem vezes",
"Resposta automática",
),
p(
"atender",
"agenda-duplicada",
"Agenda com horário duplicado",
"Agenda organizada",
),
p("atender", "cliente-sem-retorno", "Cliente sem retorno", "Retorno em dia"),
p(
"operar",
"planilha-duplicada",
"Planilha duplicada",
"Sistema no lugar da planilha",
),
p(
"operar",
"digitar-duas-vezes",
"Digitar a mesma coisa em dois lugares",
"Cadastro único",
),
p("operar", "estoque-furado", "Estoque furado", "Estoque em dia"),
p(
"operar",
"processo-de-uma-pessoa",
"Processo que só uma pessoa sabe fazer",
"Processo no sistema",
),
p("operar", "controle-no-papel", "Controle no papel", "Controle digital"),
p(
"fiscal",
"nota-fiscal-rejeitada",
"Nota fiscal rejeitada",
"Notas fiscais em dia",
),
p(
"fiscal",
"fechamento-que-nao-bate",
"Fechamento do mês que não bate",
"Fechamento conferido",
),
p(
"fiscal",
"cobranca-esquecida",
"Cobrança esquecida",
"Cobrança automática",
),
p(
"fiscal",
"relatorio-demorado",
"Relatório que demora dias",
"Relatório na hora",
),
p(
"sistemas",
"sistemas-que-nao-conversam",
"Sistemas que não conversam",
"Sistemas integrados",
),
p(
"sistemas",
"maquina-que-nao-conversa",
"Máquina que não conversa com o sistema",
"Equipamento integrado",
"/servicos/integracao-hardware-software-iot",
),
p(
"sistemas",
"sistema-antigo",
"Sistema antigo em que ninguém mexe",
"Sistema atualizado",
),
p(
"sistemas",
"sistema-que-cai-no-pico",
"Sistema que cai na hora do pico",
"Sistema estável",
),
p(
"seguranca",
"senha-compartilhada",
"Senha compartilhada",
"Acesso por pessoa",
),
p("seguranca", "dados-sem-backup", "Dados sem backup", "Backup automático"),
p(
"seguranca",
"acesso-de-ex-funcionario",
"Acesso de ex-funcionário",
"Acesso revogado",
),
p(
"seguranca",
"app-de-ia-com-falha",
"App feito por IA cheio de falha",
"App revisado",
"/ia",
),
];
export function problemaPorId(id: string): Problema | undefined {
return PROBLEMAS.find((problema) => problema.id === id);
}
export function problemasDaArea(area: AreaId): Problema[] {
return PROBLEMAS.filter((problema) => problema.area === area);
}