worknenjoy / truppie Goto Github PK
View Code? Open in Web Editor NEWThe marketplace for adventures
Home Page: http://www.truppie.com
License: MIT License
The marketplace for adventures
Home Page: http://www.truppie.com
License: MIT License
Esta é uma tarefa bastante simples para quem está começando e quer se familiarizar com a plataforma, com um ambiente Rails e como contribuir com projetos no Github.
O Truppie Places são páginas na Truppie sobre os lugares, como essa aqui: https://truppie.com/wheres/1-ilha-de-gigoia
(ainda está no início do desenvolvimento)
Esta tarefa consiste em listar um Card do perfil de um guia (que já tem em várias partes do site, inclusive na principal) que foi cadastrado naquele local, ou seja, que ele oferece passeios de um determinado local.
Quando o guia se cadastra (https://truppie.com/welcome/organizer), um dos passos é saber o local onde o guia oferece passeios, e assim temos vinculado um local com o model where
determinando este local.
Na página do local (todo local cadastrado se tornar uma página do Truppie Places através do cadastro de um model chamado background
vinculado a um local.
Sendo assim, se tiverem guias deste local, listar logo após a seção 'Experiences` o card do perfil do guia que pode ser incluído em: https://github.com/alexanmtz/truppie/blob/master/app/views/layouts/_organizer_card.html.erb
Se precisar de qualquer ajuda e tirar qualquer dúvida, fique a vontade e esta tarefa é uma ótima oportunidade de aprender com um projeto real e poder trabalhar em outras tarefas posteriormente.
Quando for para a área do guia e ele estiver logado e com uma conta de guia, ir direto para o perfil
tours
routers
do rails, onde você pode direcionar o usuário de acordo com o seu login ou criação de uma conta. ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
Acceptance criteria
.env
file: ADMIN_EMAIL=youremail
ADMIN_EMAIL_ALT=othermail
git clone
and run rails s
to start the projectrake test
(run tests and make sure is green)
rails db:migrate
(Run the migrations
for the database)
rails s
(Rodar o projeto)
If you have any doubt or need help just comment and you will be supported
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
You should be always up to date to the upstream master and use always rebase as default
If you have doubts about it see this post
Fix wrong final price after migrate to Stripe
Para cada guia de atividades cadastrado na ferramenta, e agora com total autonomia sobre o controle do perfil, temos um perfil associado no formato http://www.truppie.com/organizer/nome-do-guia
Este perfil passa a ser o endereço onde usuários podem chegar até os guias e verem seus passeios. No entanto, os guias quando não possuem passeios esta página se torna sem valor nenhum, tendo apenas a descrição e os dados básicos do usuário.
Esta página pretende ser para o guia o seu site, pois um público alvo desta plataforma são guias que não possui nenhum site.
Esta página terá tudo relativo ao guia e para estimular e aumentar a interação com o guia ela deverá conter no início da barra lateral do conteúdo um botão de chamada para entrar em contato com o guia e passar a segui-lo, e com isto ela será notificada de cada passeio que este guia oferecer e a mensagem vai diretamente para ele.
Sendo, assim, teremos um card com um ícone (a seguir) e duas ações: seguir guia e falar com o guia.
Os textos devem ser internacionalizados, então não se preocuparem muito com ele, mas sim de ter a estrutura para ser editado por nós posteriormente.
O botão de seguir faz com que o botão mude o modo para seguindo (similar ao Instagram). Clicando novamente ele pode desabilitar a ação de seguir e volta a ficar disponível para seguir.
A partir do momento que ele estiver seguindo, realizar as seguintes ações por email:
tour
for publicado (modificar o status
para "P") ele possa receber notificação sobre esta nova atividade.organizer_mailer
e não se preocupe com os textos, apenas deixe o template com a estrutura e marcação dos textos para internacionalização.
Este ícone se encontra na pasta icons do projeto com o nome camping-icon.svg
O botão de entrar em contato abre um modal com Nome (se estiver logado já preencher) e mensagem para o guia (campo obrigatório). Clicando em enviar este usuário manda uma mensagem diretamente para o guia usando um template de e-mail que já existe para ele.
Esta mudança acrescenta novas funcionalidades no perfil do guia. Ela passa a ter o conceito de seguir e segmentar notificação dos usuários. Para isto, provavelmente será necessário acrescentar novos modelos (followers
) que contém usuários. Os usuários precisam estarem logados para seguir, sendo assim, requisitar por login caso ele tente seguir sem estar logado.
Os seguidores dos guias recebem um e-mail quando ativam o interesse em seguir o guia e passam a enviar automaticamente notificações para os usuários quando o guia criar novas atividades no sistema e estas estiverem no status de publicado.
O contato é um formulário simples que abrirá num Dialog do Bootstrap em que uma mensagem que o usuário interessado naquele guia escreve pode enviar diretamente.
Critério de aceitação:
tour
) for criada e tem o status de publicado. ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
Revisar os textos que precisam ser traduzidos no arquivo: https://github.com/alexanmtz/truppie/blob/master/config/locales/en.yml
Para saber qual o texto correto, usar os textos em português como referência.
Esta é uma boa oportunidade de treinar a contribuição, rodar o projeto e praticar o inglês, pois teremos a @laurasette revisando que não deixará passar nenhum erro.
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
We have a lot of content pages explaining how the system works, and should be possible be editable, since we need more flexibility to change the texts, and the current solutions is not being very user friendly.
So we wish that it would be possible to edit those pages, in Portuguese and English. So in this case the content would be in a database, and we have already i18n and support two languages.
This is a sample page of How it works
Acceptance criteria
You can start a local database server with the following command:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
.env
file: ADMIN_EMAIL=youremail
ADMIN_EMAIL_ALT=othermail
git clone
and run rails s
to start the projectrake test
(run tests and make sure is green)
rails db:migrate
(Run the migrations
for the database)
rails s
(Rodar o projeto)
If you have any doubt or need help just comment and you will be supported
If you have doubts about it see this post
Hi Alex,
As there are many advantages using factories rather than fixtures, I would suggest you to use FactoryGirl with truppie. Moving to factories in this stage will be more helpful in the future (time, easiness etc...).
organizer
Critério de aceitação:
*
os campos obrigatórios e escrever * campos obrigatórios ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
Atualmente, na página do perfil do guia e na página inicial que mostra atividades as atividades listadas são as recentes. Nesta tarefa vamos fazer uma outra abordagem para permitir que guias saibam que um usuário tem interesse num evento que já passou.
Sendo assim, passar a listar na página inicial e do guia para eventos passados, um botão que, ao invés de reservar agora, terá outro texto (marcado para internacionalização) dizendo "eu gostaria de fazer este passeio" e assim o guia recebe a notificação por e-mail dizendo (usando nosso modelo de organizer_mail
) que este usuário quer saber desta atividade. O texto do e-mail também deve ser marcado para internacionalização e será feito separadamente, então não precisa se preocupar com ele, somente com o fato de que ele poderá ser editado nos arquivos de internacionalização.
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
Para todos os casos que temos para envio de imagens, o tempo de resposta é muito grande. Uma barra do browser existe o progresso do upload, mas nem sempre é claro para o usuário. Certificar-se que os botões de ação são desabilitados para o usuário não tentar submeter os dados mais de uma vez.
Encontrar uma maneira de dar um feedback para o usuário quando um upload de imagem está sendo feito. Pode ser opções como overlay com um loading que seja compatível com o estilo da plataforma.
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
More details in how to contribute, read the contribution guidelines
Usamos o taginput
(ótimo plugin para jQuery) para inserir tags de itens (como tags, o que inclui num evento etc), e ele funcionava bem até então. Agora, no momento em que os dados de um tour
(que chamamos de truppie) é preenchido, as tags quando inseridas e pressionado Enter, o formulário é enviado. O plugin deveria evitar a submissão do formulário. Isto de fato acontece em outros lugares onde este campo está presente, como na adminstração de um tour
(tours -> edit
)
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Quando um tour
(que chamamos de truppie) é salva sem foto, ele vai para a página do evento criado e tem a chance de enviar uma foto de capa do evento. A foto então é escolhida e ele pode salvar as mudanças. Por algum motivo o botão salvar mudanças
não está enviando os dados e assim salvando a foto.
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Olá, sou novo aqui :)
Gostaria de entender do motivo pelo qual as issues estarem sendo descritas em português.
Que tal usar algo mais global como o inglês?
P.S.: Fiquei na dúvida se este tipo de issue que criei poderia estar aqui.
Make a little review and contribute with the main page of the platform and documentation
O Pull Request
Add feature do users show interest in a past tour
Possibilita que o usuário demonstre interesse em eventos passados.
Só que ele ainda não cobre o cenário de demonstrar interesse em um evento quando ele não está logado.
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
O processo de cadastro de um guia é um dos maiores desafios que enfrentamos para atrair os clientes a usarem a plataforma para oferecem seus passeios. Estamos criando um sistema que dá total autonomia a eles, sendo assim ele consegue preencher dados do seu perfil que será visto pelos seus clientes e cadastrar seus dados bancários e pessoais para poder receber diretamente na sua conta.
Após o cadastro na Truppie como guia (através de http://guia.truppie.com) ele cai em seu perfil. A partir daí, exibir um componente de passo a passo para certificar que ele está seguindo os passos para verificar sua conta.
Este componente pode ser usado do CodePen.
Cada passo, diferente de como consta no exemplo terá um link que irá direcionar ao passo que está descrito.
Ele conterá os passos (os nomes dos passos não interessa muito, pois deverá ter só uma referência para os textos marcados para internacionalização):
Perfil - vai para: https://truppie.com/organizers/nome-do-guia/profile_edit
Verificação: a mesma da barra do perfil, ou seja, já temos métodos que validam
Conta Pessoal - vai para: https://truppie.com/organizers/nome-do-guia/account_edit
Verificação: a mesma da barra do perfil, ou seja, já temos métodos que validam
Dados Bancários - vai para: https://truppie.com/organizers/nome-do-guia/bank_account_edit
Verificação: a mesma da barra do perfil, ou seja, já temos métodos que validam
Criar uma truppie - vai para: https://truppie.com/organizers/nome-do-guia/guided_tour
Verificação: Se existe algum tour
para aquele guia
Quando todos os dados estiverem preenchidos e contas verificadas e truppies criadas não exibir o componente mais.
Colocar um botão verificar depois que esconde este componente e que muda para um botão verificar agora, que exibe novamente.
Critério de aceitação:
localStorage
) ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
User authentication section has been developed on top of Devise and Omniauth. Hence, we can easily implement google signup with truppie. (As my experience, most of the users do not like to use LinkedIn for their social logins.) As well as, Implementing multiple options to signup workflows will reduce the usability and the user experience.
We would like to integrate the platform with MailChimp lists.
It should be possible to add new users to the related list when a new user is registered or when they subscribe to the list on the home page form
So we have the following requirements to consider this task done:
Organizer
should be added to the list (ID: 8faafcc18b )User
should be added to the list (ID: 3bba2cbc78 )More details in how to contribute, read the contribution guidelines
Precisamos integrar a plataforma com listas do MailChimp
Queremos que seja possível adicionar novos usuários para a lista relacionada quando um novo usuário é registrado ou quando ele é inscrito no formulário de inscrição na página inicial.
Temos os seguintes requisitos para considerar todas integrações:
Organizer
é registrado, deveria ir para a lista (ID: 8faafcc18b )User
registrado deve ser adicionado à lista (ID: 3bba2cbc78 )PS. As credenciais serão enviadas assim que iniciar a tarefa.
All the pages are not running the javascript at first, we need to reload to actually work, so now all the platform is broken when Javascript is required
It's seems like the page has some issue with turbolinks that was discussed here #76
.env
file: ADMIN_EMAIL=youremail
ADMIN_EMAIL_ALT=othermail
git clone
and run rails s
to start the projectrake test
(run tests and make sure is green)
rails db:migrate
(Run the migrations
for the database)
rails s
(Rodar o projeto)
If you have any doubt or need help just comment and you will be supported
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
You should be always up to date to the upstream master and use always rebase as default
If you have doubts about it see this post
Algumas mudanças necessárias para o projeto precisam ser realizadas para a Truppie funcionar bem nos dispositivos móveis. Cerca de 40% dos acessos são por lá.
Usamos o sistema de grid do Bootstrap e pra isso algumas melhorias precisam ser feitas na visualização no mobile e esta é uma ótima maneira de aplicar seus conhecimentos de Bootstrap na prática.
Áreas que precisam ser melhoradas:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
Quando o usuário insere suas informações e não está de acordo com o sistema, o sistema da reload na página e não exibe nenhuma mensagem de validação.
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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 👍
It should be possible for a super admin (needs the issue #86) create e-mail templates to be used in different notifications on the platform.
So it should be possible to create / edit / delete new templates with text contents, as well be possible to use variables inside as order
, organizer
, tours
and guidebooks.
After we have this structure we can reference template by names inside e-mail views.
Later on we can think more about a most powerful templating, but for now we need to be possible to create e-mail contents by a admin instead to work on e-mail direct on code.
More details in how to contribute, read the contribution guidelines
Atualizar o Rails para a versão 4.2.7.1
e verificar que foi concluída com sucesso
Se isto gerar algum bug apresentar para que possamos atualizar o que for preciso, pois como mostrado na tela abaixo, estamos recebendo avisos de vulnerabilidade no site. Então esta tarefa é uma tarefa importante para infraestrutura.
Gemfile
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍
Criar um novo campo no modelo organizer
que irá condicionar o envio de email de boas vindas quando um novo guia se cadastrar no sistema.
Isto será feito pois muitas vezes a criação do guia poderá ser feita através de convite e neste caso não é necessário mandar boas vindas, bem como cadastros de guias feitos por nós.
Entrar na página principal
Ir em Área do guia
Criar um novo guia
Você receberá um e-mail de boas vindas
Entrar como adminstrador (instruções abaixo)
Ir em /organizers
Ir em new organizer
Checkbox com opção de notificar guia
organizer
chamado mail_notification
do tipo boolean
Critério de aceitação:
organizer
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
A basic guideline contribution document in CONTRIBUTING.md to make changes in documentation and translation.
PS. You need to upload images to reference it in the project. You can ask me @alexanmtz to upload the image for you and send a remote link to be used in the contribution guidelines for the print of the steps to contribute. Or you can upload files commenting the issue and get the url to use in documentation.
This is the guideline that needs to be edited:
As a collaborative platform we need the contribution guidelines for beginners be able to know how to contribute with this project. This document will be always visible when creating a new issue or open a pull request.
Qual a versão do ruby está sendo usada no projeto, não existe um arquivo .ruby-version e nem uma linha ex. ruby '2.3.0' no Gemfile
Since TurboLinks is enabled, the following statement is just called once.
So, the page "/welcome/organizer" only works properly when first accessed.For example.
If you access '/welcome/organizer' coming from the home page, that page does not work properly because all the html elements used in mountain-form.js are not yet in the DOM when the home page is accessed.
This issue is required to solve #62
When you are about to confirm a tour, the amount should update the final value and is not loading properly
More details in how to contribute, read the contribution guidelines
Esta é uma tarefa simples para acrescentar o telefone do guia na página do perfil se ele estiver cadastrado este dado. Também aparecer o ícone do whatsapp que leva ele diretamente para o chat.
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
Containerize the development environment using Docker and Docker Compose.
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.
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
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
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
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:
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:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
We now have support for Cucumber tests that emulates a real user flow. So we make sure that the main flows and the core of the product do not brake anymore, even with a lot of functional tests.
The main flows to booking a tour is covered and now we need to cover a confirmation to guidebooks like these
So basically this test will follow the same flow but for guidebooks instead of tours.
So we need to create the follow requirements to be created as a new feature like this
Feature: Confirm a guidebook by the user
As an registered user
I want to confirm a reservation for a guidebook
So I be able to receive a tour plan by the organizer
Scenario: User see a guidebook
Given I have a registered tour
When I go to the homepage
Then I should see a guidebook
@javascript
Scenario: Logged user confirm a guidebook
Given I am a registered user
When I go to the homepage
And I click on a guidebook
And I click confirm reservation
And I fill the credit card details and confirm
Then I see the confirmation page
More details in how to contribute, read the contribution guidelines
The gem 'bourbon' is declared on version 4.3.4 at Gemfile.lock. However, in Gemfile it's declared to get the latest version (5.0.0). Afterwards, when running the tests, several of them get failed. By now, declare the version 4.3.4 explicitly at Gemfile.
After #75 the maps is not loading on tour pages and explore page
Na seção http://explore.truppie.com/, logo após o título "Explore e experimente", exibir um mapa de largura completa do Google com os passeios cadastrados tour
sendo exibidos em um balão.
Seguir este screenshot como modelo. Será exibida a foto, valor, título e descrição do evento no evento e uma ação "Reservar" (com a tradução correspondente "Book now")
Já temos um modelo de mapas no arquivo: https://github.com/alexanmtz/truppie/blob/master/app/assets/javascripts/places.js e temos um no projeto já configurado para renderizar mapas, como pode ser observado na página de um tour
: https://truppie.com/tours/1-passeio-de-barco-pela-ilha-da-gigoia
Colocar um ícone também no local representado, mas ao invés de um hotel colocar o ícone ticket
, usamos o Font-awesome.
Insira um mapa do Google com largura completa no template e um arquivo js
correspondente que irá ser responsável por renderizar o mapa. Certifique-se que este JS só irá prosseguir se encontrar o elemento do mapa. Você pode usar jQuery se quiser
where
O model tour
, responsável por cada evento da Truppie possuem o atributo where
que contém todas informações do local, inclusive do id
do Google Place, que caso não esteja disponível poderá ser localizado pela Latitude e longitude do local.
Sendo assim, temos como critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Now will be possible create truppies that is not related to a date, and it's a service of digital guidebooks, that will help the traveler and who provide the service of giving a custom guide.
It's possible to create guidebooks using the defaults rails listing and CRUD, that it can be only viewed by the super admin. You will have instructions of how to be a super admin bellow.
We were doing this to test this model, and to put on website with our internal tests, now it's time to make this available to everyone
So the part of the public view and to buy guidebooks is ready, this is for give the freedom to new users create guidebooks and manage.
We test for two months creating guidebooks for two users:
https://truppie.com/guidebooks/1-roteiro-de-viagem-personalizado-em-copenhague
https://truppie.com/guidebooks/2-roteiros-de-viagem-personalizados-para-varios-destinos
This is a new type of tour that will be allowed for whose create guidebooks when registered. The guidebooks do not have date specified, it just a service that will be delivered to the costumer by e-mail.
All UI for Truppies guided tour created can be copied to be reused here. If you wish to refactor all the tours model to accept types, it's up to you
Acceptance criteria
organizer
model with the organizer type of personal or business. This information will be used to store on Stripe later, but let's leave the full integration for another task.It's important to mention that you will not need to test payment, this is just on the admin side of the Organizer, and the final user is on the end
This is a good example of test a feature before build other steps. We first make a closed test and after see if it will work, we create a better UI and experience for the end user after collecting some real user experience
.env
file: ADMIN_EMAIL=youremail
ADMIN_EMAIL_ALT=othermail
git clone
and run rails s
to start the projectrake test
(run tests and make sure is green)
rails db:migrate
(Run the migrations
for the database)
rails s
(Rodar o projeto)
If you have any doubt or need help just comment and you will be supported
If you have doubts about it see this post
Message error when creating new account is not displayed properly as follows:
@alexanmtz Are the message errors standardized? If so, is there other page displaying a message error following this standard?
Verificar os campos "Tags" e "Idiomas falados" na criação e edição de uma atividade, pois os mesmos não estão gravando os dados.
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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 👍
Acceptance criteria
.env
file with the following content: ADMIN_EMAIL=youremail
ADMIN_EMAIL_ALT=othermail
git clone
and run rails s
to start the projectrake test
(run tests and make sure is green)
rails db:migrate
(Run the migrations
for the database)
rails s
(Rodar o projeto)
If you have any doubt or need help just comment and you will be supported
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
You should be always up to date to the upstream master and use always rebase as default
If you have doubts about it see this post
Following the need to have main acceptance tests as #97 , we need to cover a basic flow to create a new organizer
So we need to create the follow requirements to be created as a new feature like this
Feature: Create a new organizer
As an registered user
I want to setup a organizer account
So I be able to offer tours and guidebooks
Scenario: User see an organizer
Given I have a registered organizer
When I go to the homepage
Then I should see an organizer
@javascript
Scenario: Logged user create a organizer
Given I am a registered user
When I go to the homepage
And I click in register guide
And I fill the guide information
And I click in finish
Then I see the guide profile page
More details in how to contribute, read the contribution guidelines
Quando o usuário que não esta cadastrado no sistema, tenta recuperar sua senha o sistema apresenta mensagem fora do padrão.
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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 👍
Os eventos são criados usando um calendário em Javascript que escreve num campo hidden de data e hora o que foi escolhido pelo usuário para início e fim do evento. Porém na hora de exibir o evento está aparecendo com datas e horários divergentes.
Isto acontece devido a unificação de data entre o javascript e o ruby ser necessária. Tentei realizar as conversões colocando todos em UTC mas mesmo assim não deu certo. Sendo assim, para solucionar este problema pode ser preciso trabalhar com timezones.
Critério de aceitação:
ADMIN_EMAIL=seuemail
ADMIN_EMAIL_ALT=outroemail
clone
do projeto para o seu ambiente localrake test
(rodar os testes automatizados)
rails db:migrate
(Rodar as migrations
para o banco de dados)
rails s
(Rodar o projeto)
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
The javascript is not being loaded correctly
More details in how to contribute, read the contribution guidelines
The facebook login is not working anymore and the error screen is attached to better understanding about the error
More details in how to contribute, read the contribution guidelines
codemill$10
Make the website supports English by marking the template and all the strings separate in languages YAML file. Now the website support Portuguese with a lot of strings already extracted, it's just a matter that continue this work.
What is part of this issue:
What does not include
Requirements
You have to create a fork and run the project locally as we explain in the README file and our guides.
Criar uma página de documentação mostrando como realizar merge usando o rebase como padrão.
Desta forma, facilita a integração dos pull-requests sem necessidade de linha de comando, e sendo possível ser feita pela própria interface do Github.
Sempre realizar rebase na hora de integrar o código e fazer pull request, e mostrar também o processo de squash
de forma básica, de forma a esclarecer as melhores práticas para realizar o pull request.
Não é necessária experiência para esta tarefa, ela pode ser um modo de aprender e ajudar outros da comunidade não só para colaborar com este projeto mas com projetos Open Source que em geral seguem estas práticas. Sendo assim, você pode pesquisar a respeito e documentar aqui para ser avaliado por mim e por todos e assim aprender fazendo.
gh-pages
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
Para que seu Pull Request seja aceito sem maiores problemas e integrado diretamente para que possa ir para produção você deve sempre estar integrado com o master do projeto, sempre usando rebase como padrão.
Se tiver dúvidas como fazer isto dá uma olhada aqui neste post
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 👍 o
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.