Skip to content

[FEATURE] Integração com google calendar #2

Description

@danieljstri

Descrição da Funcionalidade

Proposta de Funcionalidade: Integração com Google Calendar para Agendamento Recorrente de Aulas

Contexto e Justificativa

O Simulador de Grade (SIMGrade) desempenha um papel fundamental no planejamento acadêmico ao permitir a visualização e gestão de horários de disciplinas. Identifica-se, contudo, uma etapa subsequente manual e ineficiente: a transferência dos horários de aula para agendas pessoais, como o Google Calendar. A ausência de automação neste processo resulta em perda de tempo para o usuário e potencial margem de erro no registro dos eventos. A proposta visa otimizar este fluxo de trabalho através de uma integração direta.

Benefícios

Benefícios da Implementação

A integração com o Google Calendar proporciona uma melhoria significativa na experiência do usuário, garantindo maior precisão na gestão de horários e promovendo a otimização do tempo despendido em tarefas administrativas. Este recurso posiciona o SIMGrade como uma ferramenta completa de planejamento e gestão de compromissos acadêmicos.

Possíveis Soluções

Especificação da Funcionalidade

Propõe-se a implementação de um recurso de exportação que permita ao usuário criar eventos no Google Calendar com base nas disciplinas inseridas na grade.

Requisitos e Comportamento Esperado:

  1. Ponto de Acesso: Adicionar uma opção de "Exportar para Google Calendar" na interface do SIMGrade.
  2. Autenticação: O sistema deve iniciar o fluxo de autenticação via OAuth 2.0 para obter permissão de criação de eventos na agenda do usuário.
  3. Criação de Eventos: Para cada disciplina cadastrada na grade:
    • Título: Formatado como, por exemplo, [Disciplina] - [Professor].
    • Status: O evento deve ser configurado como Ocupado (Busy).
    • Decodificação de Horário: O código de horário da disciplina (ex: 24T12) deve ser decodificado para determinar o dia da semana, o período e a hora de início e fim.
    • Recorrência Obrigatória: É crucial que o evento seja configurado com uma repetição semanal (Recurring Event). A recorrência deve aplicar-se aos dias da semana especificados no código de horário e deve se estender até a data final do período letivo (o campo de data de término pode ser configurável ou um valor padrão do semestre).
  4. Descrição: Incluir detalhes relevantes da disciplina no corpo do evento.

Prioridade

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions