Coder Social home page Coder Social logo

fga-eps-mds / 2018.2-integra-vendas Goto Github PK

View Code? Open in Web Editor NEW
5.0 17.0 0.0 37.44 MB

Integra Vendas

Home Page: https://fga-eps-mds.github.io/2018.2-Integra-Vendas/

License: MIT License

Dockerfile 1.60% Makefile 3.16% Python 83.97% Shell 11.27%
django django-rest-framework docusaurus docker gitlabci travisci backend api-gateway

2018.2-integra-vendas's Introduction

Integra - Vendas

license mit Build Status docusaurus pipeline status codecov Maintainability

Vendas é um módulo do projeto Integra, que contempla a venda e troca de produtos dentro do ambiente acadêmico da UnB Faculdade Gama.

Requisitos

  • Docker

Instalação

Para instalar a api-gateway basta realizar make dentro da pasta api.

cd api
make

Executando

Dentro do docker execute, o script é necessário para que execute na porta correta com ip correto do localhost.

sh run-django.sh

Repositorio dos microserviços

2018.2-integra-vendas's People

Contributors

andrelucax avatar guilacerda avatar gustavolima00 avatar juniopereirab avatar leomedeiros1 avatar lucasca73 avatar lugope avatar ricardocanela avatar shayanealcantara avatar welisonr avatar wparaujo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

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

2018.2-integra-vendas's Issues

Treinamento de pytest

Treinamento para apresentar para a equipe de desenvolvimento sobre teste unitários com pytest.
Local: FGA
Horário: 18:30

US06

Descrição
Eu, como vendedor, gostaria de deletar um produto cadastrado para remover produtos que não serão mais ofertados.

Critérios de Aceitação

  • Deverá haver acesso ao botão de deletar produto, de acordo com o protótipo ...
  • Mostrar alerta se o vendedor tem certeza de que deseja deletar o produto
  • Deletar o produto caso o usuário dê ok no alerta de deleção
  • Deverá haver mensagem de erro, caso aconteça;
  • Deverá haver mensagem de produto deletado com sucesso.

Feedback Inicial - Issues e Documentação

Olá pessoas! A Carla me pediu pra dar um feedback dos grupos, e aqui estou!

IFood

  • Issues

Comunicação

Vocês estão não estão se comunicando muito bem nas issues.

Se comunicar pelas issues trás uma comunicação bem transparente do projeto de vocês, e ajuda na avaliação de como vocês estão lidando com as adversidades de cada issue. É bem interessante que informações importantes estejam sempre sendo discutidas nas issues, além das outras ferramentas de comunicação que vocês usam, como Telegram.

Pontuação

Vocês estão utilizando bem as pontuações nas issues, aqui tem alguns links pra ajudar vocês ainda mais nisso:

Eu particularmente prefiro fazer com post-its, mas vai da preferência da necessidade de cada grupo.

Nomes

As issues estão com bons nomes. É interessante a prática de padronizar os nomes, e vocês já fazem utilizando os verbos no infinitivo (que já seria a minha recomendação). Acho que as US podiam ter alguma informação além do número no título, mas se vocês preferem se organizar assim, não tem problema.(◕‿◕✿)

Labels

As Labels estão um pouco "pobres", mas é normal para essa primeira etapa do projeto. Provavelmente eu faça um mini-guia para ajudar grupos que estão mal nisso, e consequentemente vai ajudar vocês!.

As issues de vocês estão bem nomeadas, bem explicativas, parabéns! Só precisam melhorar um pouco na comunicação e nas labels.

  • Documentação

Documento de Visão

O documento de visão de vocês está bem claro em mostrar o que é o problema, seus desdobramentos, e a forma de atuação do software nesse problema.
Cumpre a função, está bem organizado, escrito e detalhado.

Documento de Arquitetura

O documento de arquitetura bom no geral, os diagramas estão bem legais, principalmente o do react-native (eu vi isso ai viu ( ͡° ͜ʖ ͡°) ), nice!

Documentação Geral

O documento de arquitetura o de visão estão bons, mas não encontrei as documentações das sprints. É bem importante que essas documentações sejam feitas para garantir a transparência do projeto e a evolução de vocês!

  • Considerações Finais

Vocês estão no caminho certo. Agora é só corrigir os erros que vai dar tudo certo. Uma dica que eu tenho pra vocês, é ver com a Carla se vocês podem definir um identidade visual própria, pra não ficar usando o nome IFood, atualizar o README com informações do projeto. ◕‿◕

A Carla vai poder dar um feedback mais técnico pra vocês, mas espero ter ajudado na melhoria do
projeto de vocês de alguma forma. ( ⌒o⌒)人(⌒-⌒ )

[]s, @fepas

US04

Descrição
Eu, como vendedor, gostaria de cadastrar as informações do meu produto para para ofertá-lo.

Critérios de Aceitação

  • Um produto será constituído de: Título, Descrição, Preço e Quantidade;

Tarefas

  • Criar frondend de cadastro de produtos;
  • Criar django rest para comunicação: create;
  • Persistência dos dados no microservice Django;

US01

Descrição
Eu, como usuário, devo de cadastrar para que eu tenha acesso ao aplicativo.

Critérios de Aceitação

  • Deverá ter campos apenas de nome, email e senha;
  • Deverá ter um botão de login escrito "Cadastrar";
  • A senha deverá ter no mínimo 6 caracteres e no máximo 15;
  • Deverá ser apresentado uma mensagem de erro caso ocorra uma senha inválida;
  • Deverá apresentar mensagem de erro caso ocorra problemas com a conexão;
  • Após o cadastro deverá haver o retorno de um token para uso posterior do app utilizando jwt;

Critérios de Aceitação

  • Criar frontend provisório de cadastro;

  • Fazer persistência dos dados;

  • Criar autenticação JWT;

Analisar integração dos times no front-end

Contexto: Quatro times de aproximadamente 10 pessoas cada vão utilizar o mesmo repositório de React-Native para construir o front-end da aplicação, cada time focado no seu projeto.

Proposta: Começar o projeto de React-Native e subir no repositório, contendo:

  • A base do app, com menu e login em uma pasta shared
  • Quatro componentes, um para cada time desenvolver seu projeto
  • O login necessitará de um back-end e deverá ser mantido por um dos grupos, os outros deverão utilizar mock para desenvolvimento.
  • Analisar padrão visual do app, para evitar a 'esquizofrenia'

Possíveis problemas:

  • Ao utilizar react-native, os times vão necessitar utilizar de bibliotecas de java-script, das quais podem ser instaladas com npm. Nosso projeto deverá exigir que as bibliotecas importadas indiquem exatamente a versão necessária, para caso mais de um grupo utilize a mesma biblioteca, não exista erro na compatibilidade

  • Além das bibliotecas de java-script, existem bibliotecas nativas. Esse tipo de importação pode ser um risco grande nesse projeto, já que a utilização de bibliotecas nativas podem interferir em várias áreas do código e possivelmente quebrar a build de outro time. Ao utilizar desse tipo de importação, o time não modificará apenas seu componente, mas fará mudanças por exemplo na pasta Android, única no projeto e dividida entre os times.
    Um exemplo: https://github.com/react-native-community/react-native-linear-gradient

Para solucionar esse problema, devemos considerar o fluxo de desenvolvimento e a comunicação entre os times, para que todos trabalhem numa versão estável do projeto. A cada utilização de novas importações críticas deve ser informada a todos os arquitetos/devops e o time responsável deve gerar uma build estável, para não impactar os outros times.

Pontos a discutir:

  • Geração do apk
  • Folha de estilo
  • Organização das pastas do projeto
  • Disponibilização de imagens na amazon s3

Aula de consumo de uma API por REACT

Aula para mostrar na prática como funciona o consumo de dados vindos de uma API por um frontend produzido em REACT Native.
Local: FGA
Horário: 19:30

US05

Descrição
Eu, como vendedor, gostaria de modificar as informações do meu produto cadastrado para manter as informações atualizadas.

Critérios de Aceitação

  • Deverá seguir o protótipo
  • Deve ser possível todos os dados.

Tarefas

  • Fazer update dos dados no servidor.
  • Traz valor ao negócio

US08

Descrição
Eu, como usuário, gostaria de visualizar os produtos ofertados para poder fazer o pedido de determinado produto.

Critérios de Aceitação

  • Deverá haver uma lista de produtos de todos os vendedores ordenados crescentemente pelo preço;

Tarefas

  • Criar front end consumindo os dados mockados de produtos;
  • Criar frontend consumindo dados mockados
    dos vendedores cadastrados;
  • Criar frontend consumindo dados mockados dos produtos de determinado vendedor;

US03

Descrição
Eu, como usuário, gostaria de alterar minha senha para que quando eu esquecê-la, eu possa voltar a ter acesso ao aplicativo.

Critérios de Aceitação

  • Seguir o protótipo;
  • O usuário deverá receber um link para redefinição de sua senha;
  • O usuário deverá redefinir sua senha a partir do link em uma página web.

Tarefas

  • Funcionalidade redefinição de senha no microsserviço de autenticação;
  • Funcionalidade de serviço de email para enviar o link;
  • Frontend web para redefinição de senha;

US02

Descrição
Eu, como usuário, gostaria de efetuar o login para acessar as funcionalidades do aplicativo.

Critérios de Aceitação

  • Deverá haver dois campos com o email e senha;
  • Deverá haver um botão escrito "Entrar";
  • Após o login é necessário que haja retorno de um token jwt para uso da api;
  • Deverá haver mensagem de erro caso haja senha incorreta;
  • Deverá haver mensagem de erro caso haja problemas de conexão;
  • Deverá haver suporte de logout de acordo com o acordado no protótipo;

Tarefas

  • Criar frontend de login num aplicativo react native (não precisa estar muito bonito pois ainda terá o frontend oficial que é integrado com outros grupos, essa tarefa é para aprendizado e mostrar na review a funcionalidade pra ser validada);

  • Criar Backend Django Rest para suporte à autenticação

  • Fazer retorno de token para protocolo jwt;

  • Criar acesso a logout;

US09

Descrição
Eu, como usuário, gostaria de compartilhar minha localização ao efetuar o pedido para que o vendedor possa me encontrar com mais facilidade.

Critérios de Aceitação

  • Deverá ter o campo ...
  • Deverá calcular/apresentar ...
  • Funcionalidade testada

Requisitos ?

  • Não é um épico. Leia
  • É testável
  • É estimável pelo time de desenvolvimento
  • Traz valor ao negócio

Reunião da visão do projeto

Reunião para passar a visão do produto para todos assim que a primeira versão do documento de visão estiver pronta.

US07

Descrição
Eu, como vendedor, gostaria de visualizar meus produtos cadastrados para manter as informações.

Critérios de Aceitação

  • Os produtos cadastrados deverão listados, mostrando todos os seus atributos (título, descrição, quantidade e preço) para o vendedor;

Tarefas

  • API Django rest para as operações;
  • Listar produtos do vendedor;

Aula de JWT

Aula para apresentar o protocolo JWT para a equipe de desenvolvimento.
Local: FGA
Horário: 19:00

Treinamento de REACT Native

Treinamento de desenvolvimento com REACT Native com toda a equipe scrum.
Local: FGA
Horário: 9 da manhã

US10

Descrição
Eu, como usuário, gostaria de efetuar o pedido de um produto para que eu possa sinalizar ao vendedor meu interesse de compra.

Critérios de Aceitação

  • O pedido deverá ser constituído de: Produto a ser pedido e um campo de observação (poderá ser utilizado pra detalhar onde a pessoa está, entre outros);
  • O campo de observação deverá ter no máximo 140 caracteres;

Tarefas

  • Criar frondend de pedido contendo os detalhes do produto e campo de observação;
  • Integração do frontend com api para salvar pedido (alguns dados poderão ser mockados);

Documento de Metodologia

Descrever a metodologia e de desenvolvimento, seus rituais e suas ferramentas.

Descrever

  • Papéis

  • Rituais

  • Técnicas de planejamento

  • Métricas de Gerenciamento

  • Técnicas de codificação

Criar Roadmap

  • Road map Geral
  • Road map dos papéis
  • Subir no pages

Plano de Comunicação

Definir o plano de comunicação entre os membros de EPS e MDS, definir tecnologias, processo e subir o documento para wiki

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.