Requisitos do sistema - RafaZanezi/tech-challenge-FIAP GitHub Wiki

Requisitos Gerais

Dentro do sistema existem dois tipos de papéis:

Administradores: Devem ser capazes de gerenciar clientes, veículos, serviços, peças e insumos e cadastrar uma Ordem de Serviço;

Mecânicos: Devem ser capazes de inserir e alterar Ordens de Serviço bem como alterar o status dela de acordo com a etapa que está realizando;

CRUD de clientes:

  • O administrador do sistema deve conseguir cadastrar o cliente informando nome completo e documento (CPF/CNPJ) do cliente;
  • Deve ocorrer uma validação de formato do cpf/cnpj no momento do cadastro para atestar sua veracidade;
  • O administrador do sistema deve conseguir alterar os dados do cliente sempre que necessário;
  • O administrador do sistema deve conseguir listar todos os clientes sempre que necessário;
  • O administrador do sistema deve conseguir remover clientes sempre que necessário;

CRUD de veículos

  • O administrador do sistema deve conseguir cadastrar um ou mais veículos vinculados à um cliente, informando placa, marca, modelo e ano do veículo;
  • Deve ocorrer uma validação da placa do veículo no momento no cadastro para atestar sua veracidade;
  • O administrador do sistema deve conseguir alterar os dados dos veículos cadastrados sempre que necessário;
  • O administrador do sistema deve conseguir listar todos os veículos do sistema (mostrando também os motoristas vinculados);
  • O administrador do sistema deve conseguir remover veículos sempre que necessário;

CRUD de serviços

  • O administrador do sistema deve conseguir cadastrar o serviço informando nome, descrição e valor do serviço;
  • O administrador do sistema deve conseguir alterar os dados dos serviços sempre que necessário;
  • O administrador do sistema deve conseguir listar todos os serviços cadastrados sempre que necessário;
  • O administrador do sistema deve conseguir remover serviços sempre que necessário;

CRUD de peças e insumos, com controle de estoque

  • O administrador do sistema deve conseguir cadastrar peças e insumos bem como a quantidade deles e seus respectivos preços unitários;
  • O administrador do sistema deve conseguir alterar os dados de peças e insumos sempre que necessário;
  • O administrador do sistema deve conseguir listar todas as peças e insumos cadastrados sempre que necessário;
  • O administrador do sistema deve conseguir remover peças e insumos sempre que necessário;

Criação da Ordem de Serviço (OS)

  • O administrador do sistema deve conseguir cadastrar uma ordem de serviço identificando o cliente pelo documento e o veículo pela placa;
  • O administrador do sistema pode identificar os serviços solicitados pelo cliente através do identificador único do serviço prestado;
  • A ordem de serviço é criada com o status “Recebida”;
  • O mecânico deve conseguir alterar o status da Ordem de Serviço para “Em diagnóstico” para realizar a avaliação do veículo;
  • O mecânico deve conseguir inserir serviços, bem como a quantidade de peças e insumos necessários para a manutenção do veículo. Após diagnóstico deve conseguir alterar o status da Ordem de Serviço para “Aguardando Aprovação”;
  • Caso a Ordem de serviço não seja aprovada pelo cliente, o administrador deve conseguir alterar o status da Ordem de Serviço para “Cancelada”, caso contrário o status será “Aprovada”;
  • Após a aprovação da Ordem de Serviço pelo cliente, o mecânico deve conseguir alterar o status Ordem de Serviço para “Em execução” e iniciar o serviço;
  • Assim que for concluída a manutenção do carro, o mecânico deve conseguir alterar o status da Ordem de Serviço para “Finalizada”. O sistema deve então debitar automaticamente do estoque a quantidade de peças e insumos utilizados na ordem de serviço;
  • Assim que o carro for devolvido para o cliente, o administrador do sistema deve conseguir alterar o status da Ordem de Serviço para “Entregue”;
  • Deve ser possível que o cliente consulte o status da Ordem de Serviço sempre que desejar;
  • Deve ser possível consultar uma lista de Ordens de Serviços bem como detalhamento das mesmas pelo administrador do sistema;
  • Deve ser gerado um relatório de monitoramento do tempo médio de Execução de uma Ordem de Serviço, ou seja, período desde o momento em que passa para o status de “Em Execução” até o status de “Finalizada”;