Code Monkey home page Code Monkey logo

2020.1-doctors-bot's Introduction

DoctorS Bot

  

Percentage of issues still open

License: GPL v3

Links R1

Links R2

Apresentação

O Projeto do DoctorS Bot busca ajudar toda a sociedade a combater o contágio do novo Coronavírus (Sars-CoV-2). O projeto trás uma integração com o aplicativo Guardiões da Saúde por meio de um Bot no Telegram (@DoctorS_bot) e busca trazer maior acessibilidade e facilidade no uso da aplicação.


O repositório é mantido e gerenciado por alunos da Universidade de Brasília, no curso de Engenharia de Software (FGA - Gama). Caso possua dúvidas ou sugestões, entre em contato pelo email.

Utilização

Para utilizar o DoctorS, basta procurar o contato @DoctorS_bot no Telegram e clicar em começar.

Instalação

Caso queira executar uma instância do nosso projeto:

  • Consiga um Telegram TOKEN

  • Crie um arquivo com nome de "token.txt" na pasta config

  • Insira o TOKEN no arquivo

  • Instale a API do Guardiões da Saúde e execute-a

  • Instale todos as bibliotecas necessárias(preferencialmente num Ambiente Virtual):
    python3 -m pip install -r requirements.txt

  • Quando a API do Guardiões estiver sendo executata, basta executar o DoctorS.py:
    python3 DoctorS.py

Erros comuns

  • Erro na biblioteca python-telegram-bot:

    ImportError: cannot import name 'Bot' from 'telegram'

    Basta executar manualmente:

    python3 -m pip uninstall python-telegram-bot

    logo após, execute:

    python3 -m pip install python-telegram-bot

Integrantes

O projeto é executado por 6 alunos da Universidade de Brasília, sobre supervisão da professora Carla Rocha.

Contato

email : [email protected]

2020.1-doctors-bot's People

Contributors

gabriel-azevedo-batalha avatar joao-pedro-moura avatar joaoaalves avatar k3vin-batista avatar lucas229 avatar marcosadrianonery avatar rochacarla avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

2020.1-doctors-bot's Issues

Estudar e definir a gestão de Sprints

Tarefas

  • Estudar desenvolvimento ágil

  • Entender o funcionamento de sprints

  • Entender como montar sprints

  • Estudar boas práticas

  • Estudar práticas utilizadas em projetos anteriores

  • Estudar regras de negócio de projetos anteriores

Critério de aceitação

  • Passar ao grupo as práticas que serão utilizadas

  • Definir sprints iniciais

Estudo de tecnologias open source

Tarefas

  • Entender o que é o open source

  • Entender como criar um projeto open source

  • Entender como integrar o projeto com outro software open source

Critério de aceitação

  • Revisar e entender como aplicar os conceitos de open source no projeto

Refatoração do cadastro e login

Descrição

Refatoração dos arquivos de cadastro e login.

Tarefas

  • Remover código duplicado
  • Melhorar o entendimento do código

Critério de aceitação

  • Arquivos refatorados e funcionando corretamente

US02 - Eu, como usuário, desejo fazer login

Descrição

Permitir que um usuário que já tenha cadastro possa ter acesso ao chatbot novamente.

Tarefas

  • Ler os dados do usuário cadastrado
  • Verificar se os dados são válidos
  • Conceder acesso ao usuário

Critério de aceitação

  • Login do usuário funcionando corretamente

Complementar documento de arquitetura

Descrição

Arrumar padrão arquitetural e adicionar relações de tecnologias

Tarefas

  • Consertar padrão arquitetural
  • Adicionar relações de tecnologias

Critério de aceitação

  • Postar documento atualizado

Contributing

Descrição

Adicionar um guia de contribuição ao repositório.

Tarefas

  • Escrever o guia de contribuição para o projeto

Critério de aceitação

  • Contributing pronto

Canvas

Descrição

Elaborar o canvas do projeto

Tarefas

  • Pesquisar cada tópico do lean canvas

Critério de aceitação

  • Canvas pronto

Implementar primeiras funções do projeto

Descrição

Implementar as primeiras funções do DoctorS Bot utilizando Python integrado com a API do Telegram e API do Guardiões.

Tarefas

  • Entender integração Python com API do Guardiões
  • Entender integração Python com API do Telegram

Critério de aceitação

  • Implementar função de registro utilizando todos os conhecimentos adquiridos

Descrição do repositório

Descrição

Adicionar descrição do repositório.

Tarefas

  • Escrever a descrição

Critério de aceitação

  • Descrição pronta

Treinar equipe GitFlow

Descrição

Treinamento de Git/GitFlow para a equipe.

Tarefas

  • Treinar Git
  • Treinar Git Flow

Critério de aceitação

  • Equipe implementar ambos corretamente

Apresentação r1

Descrição

Preparar apresentação do projeto para r1

Tarefas

  • Definir 1 tópico para cada membro
  • Fazer os slides da apresentação

Critério de aceitação

  • Vídeo da apresentação pronto até dia 07/10

Treinamento sobre Open Source

Descrição

Passar para equipe o que é um projeto Open Source.

Tarefas

  • Explicar o que é Open Source.
  • Documentação necessária a ser feita.

Critério de aceitação

  • Começar a produzir as documentações necessárias.

US01 - Eu, como usuário, desejo me cadastrar

Descrição

Permitir que o usuário possa se cadastrar para utilizar o chatbot.

Tarefas

  • Ler os dados necessários para o cadastro
  • Validar os dados
  • Cadastrar o usuário utilizando a API do Guardiões

Critério de aceitação

  • Funcionalidade de cadastro funcionando corretamente

Estudo sobre banco de dados MySQL

Descrição

Estudo sobre banco de dados relacionado ao uso da linguagem python que será usada no projeto

Tarefas

  • Procurar por links em que seja possível aprender sobre o banco de dados
  • Compartilhar com a equipe os conhecimentos adquiridos

Critério de aceitação

  • Equipe aprender a usar as principais funcionalidades

Estudar estruturas de APIs

Descrição

Estudar como funciona uma API e sua estrutura

Tarefas

  • Pesquisar o que forma uma API e qual seu objetivo

Critério de aceitação

  • Entender os componentes de uma API

Estudar App Guardiões da Saúde

Descrição

Estudo do aplicativo "Guardiões da Saúde"

Tarefas

  • Estudar funcionalidades
  • Estudar regras de negócio
  • Estudar API

Critério de aceitação

  • Documentar principais funcionalidades

Template de pull request

Descrição

Adicionar um guia de contribuição ao repositório.

Tarefas

  • Escrever o template de pull request

Critério de aceitação

  • Template pronto

Implementação do inicio do bot

Descrição

Implementar e testa o inicio do BOT

Tarefas

  • Implementar classe bot
  • Implementar HANDLERS
  • Esconder Token

Critério de aceitação

  • Rodar bot localmente
  • Execução sem erros

Planejamento de comunicação

Tarefas

  • Entender objetivos do projeto

  • Estudar o publico alvo da aplicação

  • Acordar melhores horários para a equipe trabalhar

Critérios de aceitação

  • Definir horário e dia de reuniões

  • Definir melhores meios de comunicação

  • Definir cronograma da equipe

US03 - Eu, como usuário, desejo fazer logout

Descrição

Permitir que o usuário encerre sua sessão no app

Tarefas

  • Verificar se é uma sessão válida
  • Implementar logout

Critério de aceitação

  • Implementar logout
  • Logout funcionando corretamente

Produzir o plano de gerenciamento de risco

Descrição

Escrever o documento com o plano de gerenciamento de risco.

Tarefas

  • Definir os riscos do projeto
  • Definir o tratamento dos riscos do projeto

Critério de aceitação

  • Documento com o plano de gerenciamento pronto

Treinamento em Python

Descrição

Treinar a equipe de desenvolvedores com conhecimentos em Python para o ínicio do projeto.

Tarefas

  • Treinamento em Python
  • Passar o básico da API (Telegram Bot)

Critério de aceitação

  • Devs com entendimento do básico em Python
  • Devs com todo material para estudar a API

Backlog Do Produto

Descrição

Criar backlog do nosso produto

Tarefas

  • Listar principais funcionalidades
  • Estudar o risco de cada uma
  • Estudar a importância de cada uma

Critério de aceitação

  • Definir a lista de prioridade de funcionalidades a serem implementadas(De acordo com risco e importância)

Estudar documentos de visão

Tarefas

  • Entender a necessidade do documento de visão

  • Entender a visão de solução necessária para a construção do documento

  • Entender a estrutura do documento

Critério de aceitação

  • Decidir template a ser utilizado

  • Definir parâmetros necessários para a criação do documento

Estudar GitFlow

Tarefas

  • Entender como funciona Git Flow

  • Estudar o Git como um todo

  • Aprender comandos do Git Flow

Critério de aceitação

  • Definir modelo do Git Flow

  • Passar ao time todo o funcionamento do Git Flow

  • Implementar o Git Flow no projeto

Estudar Documento de Arquitetura

Tarefas

  • Entender a necessidade deste.

  • Entender a construção do documento.

  • Entender todos os processos necessários para estarem documentados.

Critérios de aceitação

  • Definir parâmetros necessários para a construção do documento

US07 - Eu, como usuário, desejo saber as funcionalidades do ChatBot

Descrição

Permitir que o usuário possa se informar sobre as funcionalidades do DoctorS

Tarefas

  • Disponibilizar uma lista de todas as funcionalidades
  • Informar o que cada funcionalidade faz
  • Adicionar informações sobre como navegar nos menus

Critério de aceitação

  • Tutorial de funcionalidades implementado e funcionando corretamente

Estudar API Python Telegram Bot

#Tarefas

  • Estudar Python

  • Estudar API Telegram Bot

  • Entender implementação da API

#Critério De Aceitação

  • Treinar o time

Revisão de documentos

Descrição

Revisão de todos os documentos necessários para a r1.

Tarefas

  • Revisar Doc. de visão
  • Revisar Doc. de arquitetura
  • Revisar Backlog do produto
  • Revisar Riscos
  • Revisar Canvas
  • Revisar Roadmap

Critério de aceitação

  • Todos os documentos revisados e prontos para a r1

US04 - Eu, como usuário, desejo reportar meu estado de saúde

Descrição

Permitir o usuário fazer seu report diário de estado de saúde.

Tarefas

  • Adicionar o recebimento de localização
  • Adicionar a geolocalização reversa para identificar o local em que o usuário está
  • Adicionar o report diário

Critério de aceitação

  • Localização sendo recebida com sucesso e acurácia
  • Geolocalização reversa funcionando corretamente
  • Report diário funcionando corretamente

Criação das metas e restrições da arquitetura

Descrição

Criação do tópico 3 (Metas e restrições da arquitetura) no documento de arquitetura

Tarefas

  • Definir as metas do software
  • Definir as restrições da arquitetura

Critério de aceitação

  • Construir o tópico 3 do documento de arquitetura

Estudo dos tópicos 4 e 6 do doc. de visão

Descrição

Estudo sobre o tópico 4 (Visão Geral do Produto) e 6 (Restrições) do documento de visão.

Tarefas

  • Definir a perspectiva do produto
  • Fazer um resumo dos recursos
  • Definir as restrições

Critério de aceitação

  • Elaborar uma prévia de cada tópico

Construir o README

Descrição

Tarefa designada para construção do README

Tarefas

  • Estudar objetivos do produto
  • Organizar apresentação do produto

Critério de aceitação

  • Construir o README inicial

Construção da representação do produto e visão lógica

Descrição

Construir a representação do produto (Diagrama de relações, tecnologias, etc) e visão lógica no documento de arquitetura.

Tarefas

  • Definir tecnologias
  • Definir pacotes

Critério de aceitação

  • Construir tópico 2 (Representação de produto)
  • Construir tópico 4 (Visão lógica)

Estudo dos tópicos 1 e 3 do doc. de visão

Descrição

Estudo sobre o tópico 1 (Introdução) e tópico 3 (Descrição da Parte Envolvida e do Usuário) do documento de visão.

Tarefas

  • Definir o escopo e o propósito
  • Definir perfis de usuários
  • Pesquisar alternativas a concorrência

Critério de aceitação

  • Elaborar uma prévia de cada tópico

Escrever tópicos 1 e 2 do backlog

Descrição

Construção dos tópicos 1 e 2 do documento de product backlog.

Tarefas

  • Escrever Épicos
  • Escrever features

Critério de aceitação

  • Escrever os tópicos 1 e 2

Criar página no Github Pages

Descrição

Criar uma página no Github Pages para o colocar os documentos do repositório.

Tarefas

  • Pesquisar como criar uma página no Github Pages
  • Criar a página
  • Adicionar os documentos

Critério de aceitação

  • Página criada e funcionando corretamente

Documento de visão

Descrição

Escrever o documento de visão

Tarefas

  • Escrever os tópicos designados a cada dupla

Critério de aceitação

  • Primeira versão do documento de visão pronta

Construção do tópico 3 do backlog do produto

Descrição

Construção do tópico 3 (Histórias de usuário) do backlog do produto

Tarefas

  • Elaborar as histórias de usuário

Critério de aceitação

  • Escrever o tópico 3 do backlog do produto

Melhorar README

Descrição

Melhorar construção do arquivo README

Tarefas

  • Melhorar descrição do projeto
  • Adcionar integrantes do grupo

Critério de aceitação

  • Melhorar construção do README

Estudo sobre tópicos 2 e 5(Doc. Visão)

Descrição

Estudo sobre o tópico 2(Posicionando) e 5(Recursos do produto) do documento de visão.

Tarefas

  • Estudar posição do produto
  • Estudar oportunidade de negócios
  • Estudar recursos do produto

Critério de aceitação

  • Elaborar uma prévia de cada tópico

Treinamento Doc. de Visão

Descrição

Passar por cada tópico do template e explicar o assunto dele.

Tarefas

  • Explicar as partes do documento de visão
  • Tirar dúvidas

Critério de aceitação

  • Entendimento completo do documento de visão por parte de toda equipe

Criar email do grupo

Descrição

Criar um email do grupo, caso seja necessário alguém entrar em contato

Tarefas

  • Criar email

Critério de aceitação

  • Todos os integrantes terem login e senha disponíveis

Roadmap

Descrição

Preencher o roadmap do projeto de acordo com as sprints

Tarefas

  • Documentar as issues de cada sprint

Critério de aceitação

  • Documento pronto para ser preenchido a cada nova sprint

Adcionar Bug Report Template

Descrição

Adcionar um template de report de bugs

Tarefas

  • Analizar como fazer o template
  • Criar um bom template

Critério de aceitação

  • Adiconar o template ao repositório

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.