Giter Club home page Giter Club logo

receitas's Introduction

Receitas

Sistema para auxiliar a encontrar receitas baseadas nos ingredientes que a pessoa já tem em casa.

Time:

  • Back-end:
    • Breno de Castro Pimenta
    • Luiz Felipe Nery
  • Front-end:
    • Pedro Fonseca Wildemberg
    • Rafael Gonçalves de Oliveira

Tecnologias:

  • Back-end: Django
  • Front-end: Vue.js
  • DataBase: PostgreSQL

SCM (Sistema de controle de versão)

A main só recebe merge das branchs de sprint.
As brachs de sprint só recebem branchs de strories.
As branchs de stories só recebem merge das branchs de task.
As branchs de task que realmente possuem os commits.

E os merges serão através de PullRequests.
E as branchs serão divididas entre Front e Back como são aplicações independentes.

Exemplo:

  • back/task-01 -> back/story-01 -> back/sprint_01
  • ao terminar a sprint: back/sprint_01 -> master

Backlog

Backlog do Produto

  1. Como usuário, quero buscar receitas por nome.
  2. Como usuário, quero buscar receitas que usem o que tenho na geladeira.
  3. Como usuário, quero escolher a forma de visualização dos resultados.
  4. Como usuário, quero ter mais informações sobre uma receita.
  5. Como usuário, quero uma página inicial com receitas relevantes.
  6. Como usuário quero fazer buscas avançadas (com filtros, por tipos de receita, por avaliação, por porções, por tempo de preparo).
  7. Como usuário, quero enviar feedback a respeito dos resultados das buscas.
  8. Como desenvolvedor, quero entender os feedbacks recebidos.
  9. Como usuário, quero criar uma conta.
  10. Como usuário, quero fazer login.

Backlog Sprint 1

Histórias: 0, 1, 2, 3 e 4.

  1. (Fazer setup do ambiente, banco de dados, etc)
    • 1 Adicionar linter Front (Rafael)
    • 2 Adicionar linter Back (Breno)
    • 3 Adicionar elasticsearch no projeto (Luiz)
    • 5 Inicializar o projeto django (Breno)
    • 6 Integrar elasticsearch com o django (Luiz)
    • 7 Criar regras no repositório para seguir o SCM definido. (Breno / Rafael / Luiz / Pedro)
    • 8 Obter dados (Luiz)
    • 9 Adicionar receitas no elasticsearch (Luiz)
  2. Como usuário, quero buscar receitas por nome.
    • 10 Criar página inicial com um componente contendo duas abas. (Rafael)
    • 11 Criar componente na primeira aba para realizar busca por nome de receita. (Rafael)
      • Esse componente deve possuir um campo para o usuário entrar com o texto a ser pesquisado.
    • 13 Criar um componente para listar as receitas que serão retornadas pela API. (Pedro)
    • 14 Criar endpoint com requisição GET (Breno)
      • Essa requisição deve aceitar um parâmetro do tipo string, que será utilizado como filtro para receitas, e retornar uma lista de receitas.
    • 16 Criar busca no elasticsearch para receitas (por 'nome') (Luiz)
  3. Como usuário, quero buscar receitas que usem o que tenho na geladeira.
    • 17 Criar componente da segunda aba de pesquisa para informar os ingredientes a serem adicionados na busca. (Pedro)
    • 20 Criar busca no elasticsearch para ingredientes (lista) (Luiz)
  4. Como usuário, quero escolher a forma de visualização dos resultados.
    • 18 Fornecer 2 formas de visualização: grid com imagens e lista. (Pedro)
      • Grid como default (?), botão para alternar entre formas.
  5. Como usuário, quero ter mais informações sobre uma receita.
    • 19 Ao clicar na receita, o usuário deve ser redirecionado para a página original da receita. (Rafael)

A repensar:

  • 4 Conteinerizar todo o ambiente
  • 21 Criar models e etc para elastic
  • 47 Definir e criar funções para calcular estatísticas de feedback
  • 48 Criar Mapper para estatísticas serem recebidas pelo framework de gráficos do front
  • 49 Criar endpoints para obter as estatísticas de feedback mapeadas
  • 50 Criar testes unitários para as funções de estatísticas dos feedbacks
  • 42 Retornar ID da pesquisa junto da resposta
  • 43 Teste dos IDs das respostas

Backlog Sprint 2

Histórias: 6, 7 e 13.

  1. Como usuário quero fazer buscas avançadas (com filtros, por tipos de receita, por avaliação, por porções, por tempo de preparo).
    • 22 Teste GET ingredientes; (Breno)
    • 23 Teste GET receitas; (Breno)
    • 24 Teste GET filtros; (Breno)
    • 25 Teste com Elastic (Breno)
    • 26 Implementar filtro por avaliação (Luiz)
    • 27 Implementar filtro por tipo de receita (Luiz)
    • 28 Implementar filtro por porções (Luiz)
    • 29 Implementar filtro por tempo de preparo (Luiz)
    • 30 Modificar endpoints para suportar filtros (Breno e Luiz)
    • 31 Integrar e utilizar endpoints (Pedro)
    • 32 Adicionar filtro por avaliação (Pedro)
    • 33 Adicionar filtro por tipo de receita (Pedro)
    • 34 Adicionar filtro por porções (Pedro)
    • 35 Adicionar filtro por tempo de preparo (Pedro)
  2. Como usuário, quero enviar feedback a respeito dos resultados das buscas.
    • 36 Criar conexão com o Postgre (Breno)
    • 37 Criar DB Postgre (Breno)
    • 38 Criar Tabela feedback no banco Postgre (Breno)
    • 39 Criar endpoint para receber e armazenar feedback (Luiz)
    • 40 Criar UI para registrar feedback (Rafael)
    • 41 Criar serviço para enviar feedback (Rafael)
  3. Como desenvolvedor, quero entender os feedbacks recebidos.
    • 44 Criar tela de dashboard (Rafael)
    • 45 Criar rota para a tela de dashboard (Rafael)
    • 46 Criar componente com gráfico para visualizar qualidade das pesquisas (Rafael)

Backlog Sprint 3

Histórias: 9 e 10.

  1. Como usuário, quero criar uma conta.
    • 47 Criar a tela de cadastro. (Pedro)
    • 48 Criar o formulário de cadastro. (username, password, email) (Pedro)
    • 49 Criar regras para validação dos campos no frontend. (Pedro)
    • 50 Cria a tabela usuários no banco. (Breno)
    • 51 Criar endpoint para realizar o cadastro de um novo usuário. (Luiz)
    • 52 Criar regras para validação dos campos no backend. (Luiz)
    • 53 Criar consulta para cadastro de cliente.(Breno)
    • 54 Configurar ambiente de Integração Contínua utilizando GH actions. (Rafael)
    • 55 Configurar pipeline de Integração Contínua para Pull Requests. (Rafael)
    • 56 Configurar Cypress para testes end-to-end. (Rafael)
    • 57 Teste de interface de usuário: validação dos campos de cadastro. (Rafael)
  2. Como usuário, quero fazer login.
    • 58 Criar a tela de login. (Pedro)
    • 59 Criar o formulário de login. (Pedro)
    • 60 Criar endpoint para realizar o login. (Luiz)
    • 61 Criar consulta para login de usuário. (Breno)
    • 62 Teste de integração do endpoint de login. (Luiz)
    • 63 Teste de integração com SQLite. (Breno)
    • 64 Teste de integração com ElasticSearch. (Luiz)
    • 65 Teste de interface de usuário: testar login com sucesso. (Rafael)
    • 66 Teste de interface de usuário: teste de busca simples. (Rafael)

receitas's People

Contributors

brenocpimenta avatar goncalves-rafael avatar luiznery avatar pedrofw avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

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.