Code Monkey home page Code Monkey logo

fga-eps-mds / 2019.2-acacia Goto Github PK

View Code? Open in Web Editor NEW
9.0 13.0 17.0 19.82 MB

Projeto de desenvolvimento de uma aplicação para auxiliar a colheita colaborativa. Ambiente de Homologação: http://45.55.46.19:8080 Ambiente de Produção: http://45.55.46.19:8081

Home Page: https://fga-eps-mds.github.io/2019.2-Acacia/#/

License: GNU Affero General Public License v3.0

Dockerfile 0.03% Python 17.65% Shell 0.07% CSS 44.56% JavaScript 37.38% HTML 0.31%

2019.2-acacia's Introduction

codecov Maintainability

Visão geral

Acácia propõe-se a facilitar a criação de uma comunidade voluntária em torno da agricultura urbana, diminuindo o desperdício de comida e difundindo conhecimento em plantio e colheita neste ambiente. Para tal, a ferramenta conecta pessoas que possuem plantas frutíferas em local urbano, voluntários de colheita e beneficiários que buscam doações de alimentos, para que estes possam trabalhar juntos, com colheita colaborativa.

Este repositório tem como objetivo o desenvolvimento, a manutenção e a evolução do produto nomeado Acácia, uma aplicação web, que segue o conceito Mobile first e tem o intuito de auxiliar no processo de colheita colaborativa em áreas urbanas. Ele é baseado em um sistema já existente, o Saskatoon utilizado pelo coletivo LES FRUITS DÉFENDUS em Montreal - que facilita a relação entre proprietários de árvores frutíferas, voluntários para colheita e beneficiários das doações dessas frutas, visando a redução do desperdício de comida.

Como contribuir

Para contribuir com este projeto basta seguir:

Guia de Instalação

Essa aplicação tem seu ambiente configurado através de conteiners Docker, portanto, tem como pré-requisitos a instalação do Docker e Docker-compose.

Também é necessário ter o Git instalado para clonar o repositório.

Back-end:

Clonar o repositório:

git clone https://github.com/fga-eps-mds/2019.2-Acacia.git

Execução do conteiner:

docker-compose up

Após esses passos a aplicação deverá estar acessível em:

localhost:8000

Front-end:

Para instalar a camada front-end da aplicação basta seguir os passos de instalação descritos aqui

Ambiente de Homologação:

http://45.55.46.19:8080

Ambiente de Produção:

http://45.55.46.19:8081

2019.2-acacia's People

Contributors

dependabot[bot] avatar fabiola-m avatar flaviovl avatar jps12 avatar kisobral avatar leosilvagomes avatar mardntas avatar renatobrittoaraujo avatar shayanealcantara avatar vitorcx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

2019.2-acacia's Issues

Autenticação de Usuário

Descrição
Eu, como usuário, gostaria de me autenticar no sistema para manter acesso as funcionalidades.

Critérios de Aceitação

  • Deverá ter o campo e-mail e senha;
  • Deverá manter a sessão do usuário;
  • Deverá validar os campos do formulário;
  • Deverá permitir o usuário terminar a sessão (log out);
  • Funcionalidade testada;

Tarefas

  • Criar sessão por meio da api;
  • Criar formulário no frontend;
  • Comunicação de token entre front e back;
  • Envio do formulário do frontend para o backend;
  • Resposta de sucesso ou fracasso enviado do backend para o frontend;
  • Frontend deve processar a resposta do backend, informando o usuário
  • Adicionar botão de login;
  • Adicionar botão de logout;
  • Encerrar sessão por meio da api;
  • Testes de api
  • Validação de campos do frontend

Pareamento

  • Renato e Flávio

Telas do protótipo para serem levadas em consideração

image

Selecionar voluntários para colheita

Descrição
Eu, como líder da colheita, gostaria de selecionar voluntários para possuir um time para colheita.

Depende de:
#68

Critérios de Aceitação

  • Deverá permitir o líder da colheita visualizar os voluntários;
  • Deverá permitir o líder selecionar voluntários;
  • Deverá atualizar o número de voluntários na colheita de acordo com a seleção;

Tarefas

  • Criar a tela de visualização de voluntários;
  • Criar o endpoint que filtra o nome de voluntários para aquela determinada colheita;
  • Notificar voluntários sobre eles serem aceitos/rejeitados;
  • Confirmar/rejeitar voluntários (apenas o líder da colheita pode fazê-lo);
  • Listar voluntários daquela colheita (apenas o líder da colheita pode visualizar);
  • Realizar testes

Configurar ambiente de desenvolvimento

Configurar ambiente de desenvolvimento

Descrição:

Configurar ambiente de desenvolvimento para facilitar e uniformizar o trabalho da equipe

Depende de #20

Critérios de aceitação:

  • O ambiente deve estar em contêineres
  • O ambiente deve cumprir a arquitetura e tecnologias definidas anteriormente

Tarefas:

  • Criar Dockerfile front-end

  • Criar Dockerfile back-end

  • Configurar docker-compose

  • Documentar passos para a utilização do ambiente

  • Criar ambiente segregado para a documentação

  • Criar repositório do front-end

Configurar integração contínua

Configurar integração contínua

Descrição:

Eu, como devops, quero configurar a integração contínua referente ao projeto para automatizar o processo, aumentando sua confiabilidade e rapidez.

Critérios de aceitação:

  • Reduzir o trabalho manual no processo de integração de código.
  • A ferramenta deve estar configurada de acordo com as tecnologias do projeto
  • A build deve ocorrer em menos de 5 minutos

Tarefas:

  • Definir tecnologias
  • Configurar ambiente para o backend
  • Configurar ambiente para o frontend
  • Testar configurações

Criar o perfil de comunidade Open Source do projeto

Criar o perfil de comunidade Open Source do projeto

Descrição:

Adicionar documentação de comunidade do projeto para que ele atendam os padrões de projetos open source.

Critérios de aceitação:

  • O Readme deve representar o projeto de forma sucinta, ensinar como subir os diferentes tipos de ambientes e ajudar na navegação do projeto( Examplos: https://github.com/matiassingers/awesome-readme);
  • A licença de software tem que ser aberta;
  • O documento de contribuição deve referenciar as políticas do projeto e descrever a criação de issues;
  • Todos membros devem ler e concordar com esses documentos.

Tasks:

  • Criar a descrição do projeto
  • Criar o código de conduta
  • Adicionar a licença do projeto
  • Adicionar o README
  • Mudar o nome 2019.2-TimeBolinho para 2019.2-Acacia

Criar ambiente de documentação - GitHub Pages

Criar ambiente de documentação - GitHub Pages

Descrição:

Criação de ambiente com Github Pages para registrar documentos do projeto.

Critérios de aceitação:

  • Deve ser acessível pelo link do github io

Tarefas:

  • Criar Github Pages

Criar Guia de Estilo

Criar Guia de Estilo

Descrição:

Criar guia de estilo

Critérios de aceitação:

  • Deve ser documentado no github pages
  • Deve possuir as principais características de design do produto

Tarefas:

  • Definir palheta de cores

  • Identidade visual

  • Nome da aplicação

  • Guias de cores, fontes e botões

Criar protótipo de alta fidelidade versão mobile

Descrição
Eu, como desenvolvedor, gostaria de elaborar um protótipo de alta fidelidade para documentar os requisitos e melhor visualizá-los.

Critérios de Aceitação

  • Deverá possuir páginas de todos os requisitos;
  • Os formulários devem ter os campos documentados no doc de arquitetura;
  • Deverá respeitar o guia de estilo e identidade visual documentada;
  • Deve atentar-se para usabilidade em mobile

Tarefas

  • Criar a landing page;
  • Criar página de login;
  • Criar formulário de cadastro do usuário;
  • Criar página de cadastro de propriedade;
  • Criar página de cadastro de árvore;
  • Criar visualizações de calendário de colheita;
  • Criar página de voluntário;
  • ...

Pareamentos
Os paramentos devem ser utilizados para revisão de telas, uma pessoa faz e o outro revisa, e vice-versa.

  • Flávio e Leonardo
  • Durval e João
  • Hugo e Renato

Estudo sobre microsserviços

Estudo sobre microsserviços

Descrição:

É necessário um estudo sobre micro serviços pela equipe não ter muita familiaridade, assim a equipe poderá entender seus conceitos e como seria aplicado no escopo do projeto.

Critérios de aceitação

  • O estudo deve ser documentado e compartilhado com a equipe

Tarefas:

  • Conceitos
  • Verificar viabilidade

Criar roadmap do produto

Descrição
Eu, como product owner, gostaria de criar o roadmap do produto para planejar a entrega do produto.

Critérios de Aceitação

  • Deve separar as histórias por sprints

Tarefas

  • Criar project de planejamento do roadmap

  • Adicionar issues no project

Definir as Tecnologias da Arquitetura

Descrição:

Fazer um estudo das tecnologias e definir quais tecnologias atendem melhor ao escopo do projeto.

Tasks:

  • Verificar a viabilidade de usar as tecnologias escolhidas.
  • Documentar no git pages quais são as tecnologias escolhidas

Gerenciar risco da entrada de um novo membro

Gerenciar risco da entrada de um novo membro

Descrição:

Issue para documentar os treinamentos e estudos que estão sendo feito pelo novo membro @flaviovl

Critérios de aceitação:

  • Documentar nessa issue os resultados dos treinamentos e estudos.

Tarefas:

Geral

  • Comentar o link dos repositorios com os resultados do treinamento de Git
  • Comentar o link dos repositorios com os resultados do treinamento de html/css
  • Comentar o link dos repositorios com os resultados do treinamento de metodos ageis
  • Comentar o link dos repositorios com os resultados do treinamento de docker
  • Comentar o link dos repositorios com os resultados do treinamento de python

Voluntariado para Colheita

Descrição
Eu, como voluntário, gostaria de me voluntariar para uma colheita para poder participar da minha comunidade de agricultura urbana.

Depende de:

#69

Critérios de Aceitação

  • Deverá ter o botão, na visualização da colheita, para voluntariar-se;
  • Deverá notificar o líder da colheita, caso já tenha, que existem novos voluntários querendo participar da colheita;
  • Funcionalidade testada;
  • Caso o usuário tenha permissão de líder de colheita, deve permitir que ele se torne líder da colheita em questão;
  • O usuário deve estar autenticado.

Tarefas

  • Criar o botão para voluntariar-se no frontend
  • Exibir o botão apenas para o usuário autenticado
  • Criar no backend o endpoint para enviar o pedido de voluntariado;
  • Registrar no banco de dados quais voluntários estão querendo participar da colheita;

Criar ambiente de testes

Criar ambiente de testes

Descrição:

Com as ferramentas definidas para o desenvolvimento de testes, o ambiente para este fim deve ser desenvolvido.

Critérios de aceitação:

  • O ambiente de testes deve estar estável para começar o desenvolvimento dos testes.

Tarefas:

  • Criar ambiente de desenvolvimento de testes

Criação de protótipo de alta fidelidade web

Descrição
Eu, como desenvolvedor, gostaria de elaborar um protótipo de alta fidelidade para documentar os requisitos e melhor visualizá-los.

Critérios de Aceitação

  • Deverá possuir páginas de todos os requisitos;
  • Os formulários devem ter os campos documentados no doc de arquitetura;
  • Deverá respeitar o guia de estilo e identidade visual documentada;
  • Atentar-se para usabilidade web

Tarefas

  • Criar a landing page;
  • Criar página de login;
  • Criar formulário de cadastro do usuário;
  • Criar página de cadastro de propriedade;
  • Criar página de cadastro de árvore;
  • Criar visualizações de calendário de colheita;
  • Criar página de voluntário;
  • ...

Definir Indicadores e Métricas

Descrição:

Estudar e definir indicadores e metricas de produtividade, gerenciamento de riscos e manutenção.

Tarefas:

  • Estudar Indicadores e Métricas;
  • Criar documento no git pages;
  • Documentar indicadores e métricas.

Critérios de Aceitação:

  • Definir Indicadores;
  • Definir Métricas;
  • Documentar no git pages os indicadores e métricas definidos;
  • Apresentar indicadores e métricas a equipe.

Definir processo do projeto

Descrição

Definir como o time vai trabalhar usando Scrum e eXtreme Programming

Critérios de aceitação:

  • Número de reuniões diárias e tempo necessário

  • Dia de início e fim, e duração das sprints

  • Dias e duração das reuniões

  • Como vai funcionar a comunicação?

Tarefas:

  • Criar documentos no github pages

  • Apresentar documento para a equipe

Cadastro de Colheita

Descrição

Eu, como proprietário, gostaria de cadastrar uma colheita para que voluntários possam me auxiliar a realizá-la.

Depende de:

Critérios de Aceitação

  • Deverá ter os campos:
    • Data
    • Regras (opcional)
    • Descrição (opcional)
    • Status (realizada, não realizada, com voluntário suficientes para realização, aberta para voluntários)
    • Máximo de Voluntários
    • Equipamento necessário (opcional)
  • Deverá relacionar-se com árvores (pode ser que uma colheita seja de uma espécie ou mais;
  • Deverá possuir validação para os campos;
  • A colheita deve ser persistida no banco de dados;
  • Funcionalidade testada.
  • O usuário deve estar autenticado e possuir uma propriedade para realização dessa funcionalidade.

Tarefas

  • Criação da model de colheita(já com a relação à(s) árvore(s));
  • Criação do endpoint de cadastro de colheita;
  • Criação da tela do frontend com o formulário de cadastro de colheita;
  • Envio do formulário do frontend para o backend;
  • Resposta de sucesso ou fracasso enviado do backend para o frontend;
  • Frontend deve processar a resposta do backend, informando o usuário
  • Realizar testes;

Telas do protótipo a serem levadas em consideração
image

Adicionar templates nas issues, pull requests e atas de reunião

Adicionar templates nas issues, pull requests e atas de reunião

Descrição:

Adicionar templates para padronizar a comunicação durante o projeto e seguir as diretrizes da comunidade de software.

Critérios de aceitação:

  • Pull Requestes, issues e atas de reunião devem seguir um template.

Tarefas:

  • Adicionar template de issue
  • Adicionar template de pull request
  • Adicionar atas de reunião

Sistema de notificação interno a aplicação

Descrição
Eu, como usuário, gostaria de receber notificações para ficar atualizado sobre as colheitas e ações que realizo no sistema.

Depende de:

#44

Critérios de Aceitação

  • Deverá ter notificações no aplicativo, enviando informações do backend para o frontend;
  • Deverá mudar o status da notificação (lida ou não lida);
  • Funcionalidade testada;

Tarefas

  • Criar tela de "central de notificação";
  • Criar lógica de notificações no backend;
  • Criar a diferenciação de leitura da notificação;

Estudo sobre a arquitetura do projeto

Estudo sobre a arquitetura do projeto

Descrição:

Estudo sobre a arquitetura do projeto de acordo com o tema definido.

Critérios de aceitação:

  • Verificar viabilidade

Tarefas:

  • Monolítico VS Micro serviço
  • Justificar e compartilhar com a equipe

Visualização de Colheitas

Descrição
Eu, como voluntário, gostaria de visualizar colheitas para que possa decidir voluntariar-me para realizá-la.

Depende de:
#68

Critérios de Aceitação

  • Deverá permitir a visualização da data, bairro/cidade, número de voluntários necessários e status da colheita.;
  • Essa visualização deve ser permitida para usuários autenticados ou não;
  • A visualização deve estar de acordo com o protótipo de alta fidelidade;
  • Deve haver ênfase em colheitas que ainda não foram realizadas
  • Funcionalidade testada;

Tarefas

  • Criação do endpoint que exibe todas as colheitas cadastras, exibindo apenas os campos: data, bairro/cidade, número de voluntários, e status da colheita;
  • Criar endpoint com filtros por status da colheita;
  • Criar endpoint com filtros por data, apenas as que estão na semana atual;
  • Criar endpoint com filtro por data, apenas as que estão no mês atual;
  • Criação da tela com visualização de colheitas no frontend;
  • Exibição dos dados do endpoint no frontend.
  • Realização de testes

Telas do protótipo a serem levadas em consideração

66274821-adabe300-e858-11e9-9fb4-1634d1c9236b(1)

Treinar apresentação para R1

Descrição
Eu, como time de projeto, gostaria de treinar para apresentação para R1 para alinhar a visão do time quanto ao projeto.

Critérios de Aceitação

  • Todos do time devem ter lido todos os documentos da equipe;
  • Todos do time devem estar a par do vocabulário da equipe;
  • Todos os membros devem ser capazes de elucidar possíveis dúvidas da banca avaliadora;

Tarefas

  • Ler documentos

  • Treinar apresentação

Apresentar Guia de Boas Práticas do Projeto

Apresentar Guia de Boas Práticas do Projeto

Descrição:

Introduzir git flow para o time de desenvolvimento para que todos possam trabalhar.

Critérios de Aceitação:

  • Boas práticas e políticas de commits, branches e pull requests criados na #7

Tasks:

  • Apresentar documentação onde está documentado a política de boas práticas do projeto.

Documentação da Sprint 2

Descrição
Eu, como scrum master, gostaria de documentar a sprint 2 para acompanhar o projeto e a equipe.

Critérios de Aceitação

  • Deverá ter o planejamento, retrospectiva e revisão e análise do scrum master;
  • Deverá apresentar dados dos indicadores e métricas da equipe(quadro de conhecimentos, burndown, burndown de riscos);

Tarefas

  • Documentar planejamento;
  • Documentar revisão;
  • Documentar métricas;
  • Documentar retrospectiva;

Documentar dailys da equipe

Documentar dailys da equipe

Descrição:

Documentar todas as dailys da equipe, quem esteve presente, quando e onde foram feitas e comentar dificuldades muito pontuais.

Critérios de aceitação:

  • Deve conter nome dos participantes, horário, local e nome dos faltantes

Tarefas:

  • Comentar as informações de cada daily na issue

Criar histórias de usuário

Descrição
Eu, como product owner, gostaria de documentar os requisitos em histórias de usuário para preparar o backlog do produto.

Critérios de Aceitação

  • Issues de todos os requisitos devem ser criadas;
  • Deve usar voz de usuário;
  • Deve estar com as labels adequadas;

Tarefas

  • Criar issues dos requisitos

Documentação da Sprint 1

Descrição
Eu, como scrum master, gostaria de documentar a sprint 1 para acompanhar o projeto e a equipe.

Critérios de Aceitação

  • Deverá ter o planejamento, retrospectiva e revisão e análise do scrum master;
  • Deverá apresentar dados dos indicadores e métricas da equipe(quadro de conhecimentos, burndown, burndown de riscos);

Tarefas

  • Documentar planejamento;
  • Documentar revisão;
  • Documentar métricas;
  • Documentar retrospectiva;

Internacionalização do produto

Descrição
Eu, como product owner, gostaria de aplicar internalização do produto para poder alcançar mais usuários.

Critérios de Aceitação

  • Deverá permitir que a língua no site seja mudada;
  • Quando o usuário escolher mudar a língua, essa informação deve ser guardada na sua conta;
  • Caso um usuário não logado decida mudar a língua, ainda sim essa informação deve ser guardada no navegador.
  • As línguas disponíveis deverão ser: português-BR e inglês.
  • No código, os textos devem ser apresentados em inglês, no arquivo de tradução devem ser feitas as partes em português

Tarefas

  • Buscar e selecionar ferramenta de internalização/localização compatível com vuejs;
  • Marcar textos na aplicação para que permitam a tradução;
  • Traduzir textos;
  • Adicionar botão no site que permita a mudança de língua;
  • Disponibilizar as versões de língua de acordo com os critérios de aceitação (salvando as preferências do usuário)

Observações

Create training documentation

Create a page on github.io to document all training conducted

Description:

This page should document the:

  • Instructors
  • Training main goal
  • Training content
  • Names of the people who will attend the training
  • Name of the people who attended the training
  • Justification of people who did not report for training

Acceptance standards:

  • Page posted with all topics listed on description
  • Topics with all training already done

Tasks:

  • List all trainings that have already been done
  • List all names that were called for training
  • Check which people went to the training

Criar a Estrutura Analítica do Projeto

Criar a Estrutura Analítica do Projeto

Descrição:

Critérios de Aceitação:

  • Deve representar o MVP, atividades de gerência e treinamento para o desenvolvimento do projeto e entrega do produto
  • Além do diagrama, deve-se realizar uma explicação sucinta do documento

Tarefas:

  • Criar o diagrama

  • Criar a descrição

Definir ferramentas de testes

Descrição:

Eu, como desenvolvedor, quero definir as ferramentas de testes que deverão cumprir com o escopo do projeto, para melhor monitorar e controlar entregas.

Critérios de aceitação:

  • Definir as ferramentas que serão usadas no contexto do projeto.
  • As ferramentas devem ser de backend e frontend.

Tarefas:

  • Fazer comparativo das prováveis ferramentas
  • Escolher as ferramentas
  • Definir folha de estilo
  • Documentar as escolhas

Treinamento em Docker

Treinamento para introduzir conceitos sobre Docker e Containers, haverá uma parte prática para concretizar conhecimentos teóricos.

Quando: 21/08/2019 12:00-:13:00

Treinamento em HTML e CSS

Treinamento em HTML e CSS

Descrição:

Realizar trienamento de HTML CSS com MDS.

Critérios de Aceitação:

  • Apresentar o fluxo básico para o time de desenvolvimento para que eles possam estar mais familiarizados e propor uma atividade prática
  • Os resultados do treinamento devem ser colocados em:
    https://github.com/MarthaDs/TreinaBolinho

Tasks:

  • Planejar treino
  • Realizar o treino

Cadastro de Árvore

Descrição
Eu, como proprietário, gostaria de cadastrar árvores para informar quais são as árvore frutíferas que podem ter seus frutos colhidos na minha propriedade.

Depende de:

Critérios de Aceitação

  • Deverá ter os campos:
    • Altura média,
    • Nome da espécie,
    • Quantidade da árvore na propriedade
    • Época do fruto
    • Quantas vezes ao ano dá fruto
  • Deverá relacionar-se à propriedade;
  • Deverá ter todos os campos validados;
  • Deverá possuir validações de campos em todos os níveis: nas models, no endpoint e no frontend;
  • Uma propriedade pode estar relacionada à várias árvores;
  • A árvore deve ser persistida no banco de dados;
  • Funcionalidade testada.

Tarefas

  • Criação da model de árvore(já com a relação à propriedade, lembrando que uma propriedade pode ter várias árvores);
  • Criação do endpoint de cadastro de propriedade;
  • Criação da tela do frontend com o formulário de cadastro de propriedade;
  • Envio do formulário do frontend para o backend;
  • Resposta de sucesso ou fracasso enviado do backend para o frontend;
  • Frontend deve processar a resposta do backend, informando o usuário
  • Realizar testes no backend;
  • Relacionar a árvore a uma propriedade

Telas do protótipo que devem ser levadas em consideração
image

Elaborar documento de arquitetura

Elaborar Documento de Arquitetura

Descrição:

Documentar funcionamento da arquitetura de software que será utilizada no projeto.

Critérios de aceitação:

  • Visão geral da arquitetura documentada no github pages

Tarefas:

  • Descrição do funcionamento da arquitetura do Vue js
  • Descrição do funcionamento da arquitetura do Django REST
  • Descrição da comunicação entre o Vue js e o Django REST
  • Diagrama de classes
  • Diagrama de pacotes
  • Diagrama de banco de dados
  • Diagrama de caso de uso

Pareamentos:

  • Diagrama de Caso de Uso - Flávio e Leonardo
  • Diagrama de Pacote - Durval e João
  • Diagrama de Classes - Hugo e Renato
  • Modelo Relacional Banco - Flávio e João

Criar protótipo de baixa fidelidade

Criar protótipo de baixa fidelidade

Descrição:

Criar protótipo de baixa fidelidade em papel para melhor entender o contexto do produto e das necessidades do usuário.

Critérios de aceitação:

  • Protótipo deve refletir todos os requisitos funcionais
  • Todos os membros do time de desenvolvimento devem participar do desenvolvimento do protótipo.
  • O protótipo deve ser em papel

Tasks:

  • Criar telas para voluntários de colheita

  • Criar telas para voluntários líderes de colheita

  • Criar telas para donos de árvores

  • Criar telas para beneficiários

Decidir estratégias de negócio

Decidir estratégias de negócio

Descrição:

É necessário avaliar o escopo e o contexto do projeto em relação à disponibilidade do cliente, do tamanho do escopo já existente e questões de manutenção. Em síntese, avaliar os pós e contras de dar continuidade do código já existente ou começar do zero.

Critérios de aceitação:

  • Ter um consenso entre os membros da equipe sobre qual estratégia de negócio seguir;

Tarefas:

  • Realizar discussão sobre os prós e contras de continuar o produto;
  • Avaliar tecnologias decadentes que constam no produto já existente;
  • Avaliar o retrabalho (manutenção)

Cadastro de Usuário

Descrição
Eu, como usuário, gostaria de me cadastrar no site para obter acesso as funcionalidades.

Critérios de Aceitação

  • Deverá ter os campos: nome, senha, confirmação de senha, email;
  • O campo de nome deve ser preenchido com no mínimo 3 caracteres e no máximo 50;
  • A senha deve possuir no mínimo 8 caracteres, e deve coincidir com a confirmação de senha;
  • O email deve ter o formato [email protected]
  • Deverá possuir validações de campos em todos os níveis: nas models, no endpoint e no frontend;
  • A conta do usuário deve estar persistida no banco de dados;
  • Funcionalidade testada.

Tarefas

  • Criação da model de usuário(verificar como herdar do user do django);
  • Criação do endpoint de cadastro de usuário;
  • Criação da tela do frontend com o formulário de cadastro;
  • Validação de campos no frontend
  • Envio do formulário do frontend para o backend;
  • Resposta de sucesso ou fracasso enviado do backend para o frontend;
  • Frontend deve processar a resposta do backend, informando o usuário
  • Realizar testes;

Pareamentos

  • Leonardo e Hugo

Telas do protótipo para serem levadas em consideração

image

Criar documento de visão

depende da issue #4

Descrição

Elaborar documento de visão para ter uma melhor visão do produto

Critérios de aceitação

  • Deve estar na língua portuguesa

  • Deve ser escrito de forma colaborativa pelos membros de MDS

  • Deve ser desenvolvido de acordo com as políticas de repositório

Tarefas

  • Criar a estrutura do documento

  • Preencher documento com o conteúdo específico

  • Revisão do documento

Preparar apresentação da Release 1

Descrição
Eu, como time de projeto, gostaria de preparar a apresentação para Release 1 para alinhar visão geral do produto e do projeto.

Critérios de Aceitação ?

  • Apresentação em slides

  • A apresentação deve ocupar no máximo 10 minutos

  • A apresentação deve priorizar a visão de produto

Tarefas

  • Criar roteiro da apresentação

  • Criar documento powerpoint para apresentação

Atualizar Perfil do Usuário

Descrição
Eu, como usuário, gostaria de atualizar meu perfil para refletir melhor minha participação na comunidade.

Depende de:

#43 #44

Critérios de Aceitação

  • Deverá ter os campos:
    • Data de nascimento
    • Email
    • Telefone
    • Bio
    • Username
    • Foto de perfil
  • Quais atribuições o usuário quer realizar na plataforma (proprietário, líder de colheita, colheita, pode ser mais de um, é apenas o que ele almeja)
  • O usuário deverá estar autenticado para acessar a página;
  • Todos os campos deverão estar validados e serem opcionais (tirando os campos do cadastro);

Tarefas

  • Criar página de edição do perfil;
  • Criar endpoint que provê as informações do perfil do usuário autenticado;
  • Carregar, na página de edição de perfil, as informações atuais do perfil do usuário;
  • Exibir formulário com as informações atuais, permitindo a edição;
  • Salvar as informações atualizadas e validadas;

Treinamento em Vue

Descrição:

Eu, como gerente do projeto, quero treinar os desenvolvedores, para capacitá-los em desenvolvimento frontend usando Vue.

Critérios de aceitação:

  • Deverá ser apresentado um projeto introdutório com as funcionalidades básicas que o framework oferece.

Tarefas:

  • Arranjar uma pessoa capacitada a dar o treinamento
  • Realizar o treinamento

Acessibilidade do produto

Descrição
Eu, como desenvolvedor, gostaria de tornar o produto acessível para permitir o uso para usuários de diferentes perfis.

Critérios de Aceitação

  • Deverá possibilitar o aumento de fonte
  • Deverá possibilitar a habilitação de alto contraste
  • Deverá salvar as informações do usuário de preferência
  • Deverá sinalizar qual é o "padrão" de tamanho de fonte, para permitir o usuário retornar, caso queira

Tarefas

  • Acrescentar barra superior com opções de acessibilidade
  • Ao selecionar o aumento de fonte, as fontes de títulos e textos devem ser aumentados, conforme normas de acessibilidade
  • Deve-se pesquisar cores ideais para utilização de alto contraste (preto e branco, por exemplo)

Cadastrar propriedade

Descrição
Eu, como proprietário, gostaria de cadastrar minha propriedade para que voluntários possam localizá-la para eventuais colheitas.

Depende de:

Critérios de Aceitação

  • Deverá ter os campos:
    • Tipo de endereço (apartamento, casa, outro),
    • Endereço (aqui vai ser digitado nome da rua/etc. Exemplo: sqs 904)
    • CEP
    • Número
    • Complemento (campo opcional)
    • Ponto de referência (campo opcional)
    • Cidade
    • Estado
  • Deverá relacionar-se ao proprietário;
  • Deverá ter todos os campos validados, apenas os campos destacados como opcionais podem ficar em branco;
  • A validação do CEP deve ser feita no modelo brasileiro;
  • Deverá possuir validações de campos em todos os níveis: nas models, no endpoint e no frontend;
  • A propriedade deve ser persistida no banco de dados;
  • O usuário deve estar autenticado para ter acesso a essa página
  • Funcionalidade testada.

Tarefas

  • Criação da model de propriedade(já com a relação ao usuário);
  • Criação da tela do frontend com o formulário de cadastro de propriedade;
  • Envio do formulário do frontend para o backend;
  • Criação do endpoint de cadastro de propriedade;
  • Resposta de sucesso ou fracasso enviado do backend para o frontend;
  • Frontend deve processar a resposta do backend, informando o usuário
  • Realizar testes;
  • Realizar testes no frontend

Telas do protótipo que devem ser levadas em consideração
image

Criar o Termo de Abertura do Projeto (TAP)

Description:

Desenvolver o TAP de acordo com o projeto de Sistema de Colheita Colaborativa.

Alguns exemplos podem ser encontrados aqui e aqui

Critérios de aceitação

  • Texto deve estar nas github pages, em português

Tarefas:

  • Adicionar partes interessadas;
  • Descrever escopo e problema;
  • Adicionar os papéis da equipe;
  • ...

Estudo sobre Progressive Web App

Estudo sobre Progressive Web App

Descrição:

Estudo sobre a tecnologia PWA (Progressive Web App) no contexto do projeto para verificar se a equipe poderá usufruir ou não dela..

Critérios de aceitação:

  • Deve ser feito um estudo verificando o contexto do projeto e as regras de negócio.

Tarefas:

  • Verificar viabilidade
  • Justificar e compartilhar com a equipe

Elaborar o quadro de modelo de negócios (Canvas)

Descrição

Eu, como product owner, quero elaborar o modelo de negócios, para melhor acompanhar o planejamento estratégico do produto.

Critérios de aceitação:

  • Possuir documentação no github pages
  • Utilizar template que atinja os pontos principais do canvas (problema, solução, alvos, custos...)
  • Esse documento deve estar alinhado com o documento de visão, EAP e termo de abertura do projeto.

Tarefas:

  • Criação de diagrama

  • Documentação no github pages

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.