New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cadastrar atividades em que o valor é sugerido pelo usuário - R$ 350,00 #19

Closed
alexanmtz opened this Issue Oct 11, 2017 · 13 comments

Comments

5 participants
@alexanmtz
Collaborator

alexanmtz commented Oct 11, 2017

Quando o guia criar um passeio, e chegar no momento de escolher um valor ou entre pacotes, ele poder marcar um campo "Sugerido pelo usuário no momento da reserva / Chosen by user". A tradução deste campo para o inglês também deverá ser realizada.

Desta forma iremos possibilitar uma nova forma de oferecer passeios de forma colaborativa e para que o usuário possa pagar o preço que achar justo.

Observamos que este tipo de iniciativa vem sendo usado para passeios alternativos e queremos oferecer esta forma para que guias que ofereçam passeios neste modelo possam ingressar na plataforma.

screen shot 2017-10-11 at 7 27 43 pm

Quando este campo de preço "sugerido pelo usuário no momento da reserva" estiver selecionado, desativar o campo relativo ao preço único e o botão de Criar pacotes

Colocar também um componente de tooltip com uma interrogação com o seguinte texto (não esquecer de seguir as [práticas de internacionalização](http://guides.rubyonrails.org/i18n.html, pois o site é multi idioma):

Com esta opção, o usuário pode fazer a reserva e pagar o preço que achar justo por esta atividade(Português)

With this option enabled, the user pay the price he think is fair for this activity

Como chegar no cenário descrito

Como realizar esta mudança

Parte 1: Alterar a validação na criação de uma atividade

Para realizar esta modificação, é necessário alterar a validação no model tour. Este é model do evento e atualmente valida se o valor é definido na hora de criar uma nova atividade.

Para realizar esta mudança será necessário fazer uma validação condicional no model. A validação do preço só ocorre se este campo não estiver marcado.

Temos um exemplo deste uso para os pacotes de preço no model tour:
https://github.com/alexanmtz/truppie/blob/master/app/models/tour.rb#L41

Parte 2: Alterar na confirmação da reserva

Na tela da confirmação da reserva o valor será substituído por um campo que vai ser enviado juntamente com os dados do formulário com o valor fornecido pelo usuário.

Logo abaixo deste valor exibir uma média dos valores

screen shot 2017-10-11 at 7 50 06 pm

A forma que este campo será preenchido pode seguir a mesma regra do que é definido pelo guia na sua criação, ou seja, você pode usar este elemento:

screen shot 2017-10-11 at 7 56 39 pm

Na confirmação da reserva o preço é enviado para ordem de pagamento. Para isto, terá de ser verificado no controller tour no método confirm_direct
https://github.com/alexanmtz/truppie/blob/master/app/controllers/tours_controller.rb#L298

Quando a confirmação é realizada, passar para a ordem de pagamento (order) o valor que o usuário sugeriu.

Todos os locais do site que exibem preço exibir "O que você achar justo! / A fair price for you!" (não esquecer de colocar o texto no arquivo de traduções, pois o site é multi idioma.

Sendo assim, temos como critério de aceitação:

  • Quando o guia cria um passeio, ele terá a opção próximo ao campo de valor "sugerido pelo usuário no momento da reserva"
  • Incluir campo para o usuário colocar um valor escolhido por ele na hora da confirmação da reserva
  • Se o campo estiver vazio, não deixar confirmar a reserva, exibindo um alerta para o usuário (acho que isto já será feito pelo fato do model estar validando a presença do valor de uma reserva)
  • Validar nas seguintes áreas do site a exibição do preço ajustada para exibir uma indicação de que o usuário poderá sugerir um preço justo.

Considerações sobre a plataforma:

  • Usamos o Bootstrap, sendo assim todos os padrões da interface seguem o seu padrão
  • O código será validado e os testes automatizados serão realizados para certificar-se de a mudança não afete de forma não prevista outras partes da plataforma
  • Você receberá comentários sobre suas mudanças
  • Temos testes automatizados para validar as funcionalidades, então você deverá seguir este padrão criando testes automatizados que valida o que foi desenvolvido.

Requisitos para rodar a plataforma

  • Ruby
  • Postgres
  • Se tornar administrador no sistema
    (para isto, basta criar um arquivo .env com os campos:
 ADMIN_EMAIL=seuemail 
 ADMIN_EMAIL_ALT=outroemail

Como realizar esta tarefa

  1. Comente aqui manifestando o interesse em realizar esta tarefa, que entrarei em contato para obter os detalhes para realizar o pagamento
  2. Faça um fork do projeto
  3. Faça um clone do projeto para o seu ambiente local

rake test (rodar os testes automatizados)

rails db:migrate (Rodar as migrations para o banco de dados)

rails s (Rodar o projeto)

  1. Realize as modificações como descrito nesta Issue
  2. Enviar um Pull Request
  3. Certificar-se de que as modificações passaram nos testes automatizados
  4. Um novo ambiente para testes será criado para validação das modificações com a nossa equipe
  5. Receber os comentários e feedbacks sobre modificações
  6. Enviar quaisquer modificações necessárias até ser aprovado
  7. Você ganha então um 👍
  8. Quando o Pull Request for finalizado, o pagamento é enviado

Se precisar de qualquer ajuda ou tiver qualquer dúvida basta comentar aqui que as dúvidas poderão ser respondidas por qualquer pessoa da comunidade ou quem contribui com o projeto e principalmente eu 👍

Se quiser se familiarizar com o funcionamento de projetos de software livre, tem este excelente guia do Tableless

@alexanmtz alexanmtz added this to the 3.0 milestone Oct 11, 2017

@alexanmtz alexanmtz added this to Backlog in truppie Oct 11, 2017

@alexanmtz

This comment has been minimized.

@leospaula

This comment has been minimized.

Contributor

leospaula commented Oct 12, 2017

Bom dia, fiquei interessado em realizar esta tarefa. Aguardo o contato.

@alexanmtz

This comment has been minimized.

Collaborator

alexanmtz commented Oct 12, 2017

@leospaula, por favor, envie um e-mail para: ola@truppie.com para lhe passar os detalhes.

@roniewill

This comment has been minimized.

roniewill commented Oct 12, 2017

Se tiver mais demandas, gostaria de contribuir, e se ninguém estiver nessa demanda, posso pegar.

@alexanmtz

This comment has been minimized.

Collaborator

alexanmtz commented Oct 12, 2017

@roniewill, por favor, envie um e-mail para: ola@truppie.com para lhe passar os detalhes.

@AlbericoD

This comment has been minimized.

AlbericoD commented Oct 12, 2017

Achei incrível, vou ler tudo certinho de novo! 👍

@hugohernani

This comment has been minimized.

Contributor

hugohernani commented Oct 12, 2017

show! Tenho interesse nessa ou em outras tarefas disponíveis.

@alexanmtz

This comment has been minimized.

Collaborator

alexanmtz commented Oct 12, 2017

O @roniewill ficou com com esta tarefa, vocês podem continuar acompanhando aqui, assim acompanhar o Pull Request e dar feedbacks sobre as mudanças e em breve teremos mais tarefas e novidades 🥇

@alexanmtz alexanmtz moved this from Backlog to In Progress in truppie Oct 15, 2017

@alexanmtz

This comment has been minimized.

Collaborator

alexanmtz commented Oct 17, 2017

@roniewill não estou tendo um retorno seu sobre o progresso, preciso de uma posição caso contrário deixarei ela disponível para outro

@roniewill

This comment has been minimized.

roniewill commented Oct 17, 2017

@hugohernani

This comment has been minimized.

Contributor

hugohernani commented Oct 17, 2017

Olá @alexanmtz, como o @roniewill não pode concluir, caso você pretenda disponibilizar para outro dev, ainda tenho interesse em fazer essa tarefa. 👍

@alexanmtz

This comment has been minimized.

Collaborator

alexanmtz commented Oct 17, 2017

Pode começar @hugohernani ! @roniewill se tiver algo iniciado, pode dar push para alguma branch e o @hugohernani começar a partir do que você fez se não tiver problema!

Espero que tudo se resolva aí e boa sorte.

Assim que tiver uma previsão de tempo me avise @hugohernani. E o que precisar de ajuda só postar aqui. Boa sorte!

@alexanmtz

This comment has been minimized.

Collaborator

alexanmtz commented Oct 26, 2017

@hugohernani seu pull request foi integrado, favor enviar um e-mail com os dados bancários para ola@truppie.com para realizarmos a transferência. Obrigado!

@alexanmtz alexanmtz closed this Oct 27, 2017

@alexanmtz alexanmtz moved this from In Progress to Done in truppie Oct 28, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment