Boa tarde colegas e professor! Aqui minha resposta do desafio.
Problemas
- Organizar entrevistas com candidatos
- Enviar e-mails de confirmação
- Agenda com todos os horários
- Tarefas repetidas realizadas toda semana
Subitens (decomposição)
- Organizar entrevistas
- Coletar dados pessoais, profissionais e educacionais.
- Coletar meios de contato incluindo e-mail
- Agendar entrevista
- Enviar e-mails de confirmação
- Integrar módulo da agenda com provedor SMTP
- Configurar regras de envio
- Agenda com todos os horários
- Calendário com dias clicáveis para agendamento manual (inclui possibilidade de vincular entrevistas ainda não agendadas)
- Suporte à integração com provedor SMTP via API
- Configuração de regras de envio de lembretes e confirmações por whatsapp ou e-mail com repetição (incluindo instantes antes do evento)
- Tarefas repetidas realizadas toda semana
- Módulo de entrevistas com relatório que pode ser exportado conforme um período definido (dados do candidato em formato de ficha) e enviado por e-mail.
- Módulo de agenda possibilita a exportação de relatórios de compromissos diários, semanal e mensal (podendo incluir a ficha do entrevistado - mesma ficha do item anterior)
Padrões (similaridade)
- Dados do cadastro (como cidade, estado, cep, UF, etc) que podem ser carregados via API pegando direto do CEP por exemplo.
- Dados que todos possuem (como data de nascimento e nome por exemplo) como itens obrigatórios
- Única agenda para todos
- Notificações enviadas seguirão modelos específicos de mensagem.
- Relatórios terão a mesma aparência independente do módulo (só muda os dados apresentados)
Abstrações (não é relevante ao cliente/usuário)
- Forma de agendamento
- Cadastro e validações
- Modo de enviar os e-mails
- Modo de exportar os relatórios
- Integração entre os módulos e com o SMTP
Algoritmo (3 fluxos)
F1 - Candidato cadastra
- Candidato acessa página de vagas
- Cadastra seus dados em um formulário
- Opta por agendar ou não
F2 - Gestor cadastra (currículos físicos, por exemplo)
- Gestor acessa módulo entrevistas
- Adiciona o cadastro do candidato
- Agenda
F3 - Gestão
- Gestor acessa módulo agenda
- Exporta ou analisa em tela os agendamentos e compromissos pendentes.
Fico à disposição e no aguardo de críticas e sugestões. Deus abençoe!