Trabalho Prático

iMonitorias - Programa de Monitoria de Idiomas na UFMG

DCC603 - Engenharia de Software

Squad AGIL

  • Arthur Henrique Dias Nunes -2018020670
  • Gabriel Pimentel Gomes - 2018020271
  • Igor Menezes Radichi - 2018020441
  • Lucas Gabriel Santana - 2018072476

Como usar o Aplicativo

TBA

O Projeto

O projeto tem como objetivo conectar professores (graduados ou não) da UFMG - principalmente em Letras, com especialização em ensino de línguas - com alunos da universidade que desejam aprender ou praticar um novo idioma, a princípio gratuitamente. Seria uma troca de experiências, podendo evoluir para um acordo entre as partes que possa - ou não - envolver dinheiro e prolongar ou formalizar os encontros, o que dependeria exclusivamente das partes e não envolveria o escopo do app.

Backlog do Produto

Glossário:

Usuário -> Professor ou Estudante

Aula -> idioma/hora/professor

História Como um Eu quero De forma que eu Sprint 1
1 Usuário Fazer um cadastro Preencha meu perfil para que os outros me encontrem ☑️
2 Usuário Fazer o cadastro com meu @ufmg Preencha alguns dados do perfil automaticamente ☑️
3 Usuário Acessar meu perfil Consiga modificá-lo
4 Estudante Visualizar e pesquisar por idioma e data Encontre professores capacitados disponíveis ☑️
5 Estudante Selecionar uma aula Consiga fazer uma reserva ☑️
6 Professor Entrar na minha agenda Colocar meus horários disponíveis ☑️
7 Usuário Entrar no aplicativo Veja meus compromissos passados e futuros ☑️
8 Usuário Acessar um compromissos Cancelá-la ou solicitar para remarcar ☑️
9 Usuário Integração com o Teams Tenha o evento automaticamente marcado ou desmarcado ☑️

Equipe

  • Arthur Henrique Dias Nunes - Backend
  • Gabriel Pimentel Gomes - Frontend
  • Igor Menezes Radichi - Backend
  • Lucas Gabriel Santana - Frontend

Backlog do Sprint 1

  • História 1:
Tarefa Responsável Status
Definir a estrutura do Banco de Dados para o usuário Igor ☑️
Implementar a estrutura no banco de dados. Iniciar o banco de dados Arthur ☑️
Adicionar tabela como fonte de dados Gabriel ☑️
Implementar a interface para o cadastro Lucas ☑️
  • História 2
Tarefa Responsável Status
Coletar as informações (usuário, email, etc) do login da ufmg Gabriel ☑️
Implementar lógica responsável por verificar se o usuário já está cadastrado Lucas ☑️
  • História 4
Tarefa Responsável Status
Implementar a pesquisa na tela Lucas ☑️
Mostras os resultados (mesmo sem pesquisa) na tela Gabriel ☑️
  • História 5
Tarefa Responsável Status
Implementar a interface para solicitar a reserva de uma aula Gabriel ☑️
  • História 6
Tarefa Responsável Status
Definir estrutura do banco para as aulas disponíveis Igor ☑️
Implementar a estrutura no banco de dados Arthur ☑️
Implementar a interface para selecionar/adicionar/remover entradas na "agenda" do professor Lucas ☑️
  • História 7
Tarefa Responsável Status
Implementar a interface para visualizar compromissos futuros Gabriel ☑️
Implementar a interface para visualizar compromissos passados Lucas ⚠️
  • História 8
Tarefa Responsável Status
Implementar a interface para desmarcar compromissos Lucas ☑️
Implementar a interface para remarcar compromissos Gabriel ⚠️
  • História 9
Tarefa Responsável Status
Definir estrutura do banco para os eventos marcados Igor ☑️
Implementar a estrutura no banco de dados Arthur ☑️
Automação com o Teams para marcar eventos Igor ☑️
Automação com o Teams para desmarcar eventos Igor ⚠️
Integrar automação à criação de Solicitações Lucas ☑️
  • História 0 (Outras tarefas):
Tarefa Responsável Status
Implementar o banco de dados em docker Arthur ☑️
Configurar gateway para conectar o banco à nuvem Igor ☑️
Criar Github Action Igor ☑️
Definir versionamento do Frontend Lucas ☑️

Tecnologias

  • Docker
  • Banco de dados (mySQL)
  • On-premises gateway (ponte com a nuvem)
  • Power Platform (automations & app, na nuvem ou local)
  • GitHub para versionamento de código
    • Utilização de Actions no GitHub para automatizar exports
    • (opcional) PowerApps-Language-Tooling
  • Office 365 (Teams, Outlook, etc)

Arquitetura

Diagrama de banco de dados relacional

Configurar o Ambiente de Desenvolvimento

Banco de Dados Docker

Configure e inicie a sua base de dados docker.

On Premises Gateway

Configure seu gateway padrão.

GitHub Actions

Automatize o export da solução.

Versionamento do Git

Ao implementar uma nova feature, faça como o gitflow definido.

Referências