Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Desafio: Automatizando tarefas

Resposta do Exercício: Algoritmo de Automação de Agradecimentos

Para automatizar o envio apenas para quem assistiu do início ao fim, precisamos criar um algoritmo focado no monitoramento da sessão do usuário e na validação do tempo de permanência. O fluxo lógico seria o seguinte:

  1. Mapeamento da Transmissão:

Registrar o horário exato de início do evento (horario_inicio_live).

Registrar o horário exato de encerramento do evento (horario_fim_live).

  1. Monitoramento do Usuário (Sessão):

Quando o usuário fizer login e entrar na página do evento, registrar no banco de dados o horário de acesso (horario_entrada_usuario).

Durante a live, o sistema deve enviar um "ping" a cada 5 minutos para o servidor. Isso valida se a guia do navegador continua aberta e se o usuário não está ocioso.

Se o usuário fechar a aba ou a conexão cair, registrar imediatamente esse momento como horario_saida_usuario.

  1. Validação e Disparo (Condição Lógica):
    Ao encerramento da live, o sistema fará a seguinte checagem para cada usuário logado:

SE o horario_entrada_usuario for equivalente ao horario_inicio_live E não houver registro de horario_saida_usuario antes do horario_fim_live:

AÇÃO: Incluir o usuário na lista e disparar o envio do e-mail de agradecimento.

SENÃO (entrou atrasado ou saiu antes do fim):

AÇÃO: Ignorar e não disparar o envio.

1 resposta

Oi, Lucas. Tudo bem com você?

Sua solução atende bem à lógica principal do desafio, principalmente ao definir os dados de entrada e a condição para identificar quem acompanhou a transmissão do início ao fim. A separação entre início e fim da live, horário de entrada e horário de saída deixa o algoritmo fácil de acompanhar.

Um ponto a se considerar é a condição de presença completa. No seu algoritmo, exigir que horario_entrada_usuario seja exatamente igual ao horario_inicio_live pode ser rígido demais, já que diferenças de segundos ou poucos minutos poderiam impedir a identificação de uma pessoa que entrou no início.

Como você definiria essa condição para representar melhor uma presença completa sem depender de um horário exatamente igual?

Parabéns pelo exercício e por detalhar a lógica com bastante clareza. Continue compartilhando suas soluções no fórum. Ele está à disposição para trocar ideias e aprimorar seus algoritmos.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!