Skip to content
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

Definição de tecnologias básicas: plataforma de geração de montagens de imagens, foco adoção de animais #50

Open
rcgivisiez opened this issue Aug 2, 2016 · 4 comments

Comments

@rcgivisiez
Copy link
Contributor

As @pokemongovet/lideres-de-ginasio acreditam que, pra resolver o grave problema dos milhões de animais abandonados apenas no Brasil, várias pequenas ações podem ser feitas.

Hoje, a maior parte das adoções acontecem através de grupos e páginas do Facebook. Um Produto Mínimo Viável seria uma plataforma simples, onde uma pessoa leiga faz upload de uma imagem, adiciona dados, e ela permite o download da imagem para que ela use essa imagem para divulgação

Veja também #7


Estudo de casos

Visite http://pokemongo.vet.br/adote-um-pokemon-de-verdade.html e acesse algumas opções de adoção que sejam ou grupos do Facebook, ou páginas do Facebook, leia as regras ou o primeiro post fixado, e observe algumas postagens das que fazem anúncio de animais.


Requisitos rígidos

  • É necessário dar dicas pra pessoas leigas de como tirar boas fotos para maximizar conversão. Isto é algo que podemos aprender no meio do caminho
  • Pessoas podem enviar fotos enormes (pense 13 Megapixels), mas resultado final deve ser bem otimizado, para por em um site
  • É necessário permitir inclusão de texto, seguindo modelos pré-definidos Não é bom dar "muita liberdade"
  • (sugira você nos comentários)

Requisitos não rígidos

  • Permitir inserir molduras nas fotos. Requer estudo de quais molduras usar, mas é pertinente pelo menos ter essa funcionalidade
  • (não temos certeza) Filtros, estilo os do Instagram, teoricamente poderiam melhorar conversão nas adoções. Porém opções demais podem ser pior do que poucas, mas boas
  • (sugira você nos comentários)

Requisitos tecnológicos (podem mudar)

  • (sugira você nos comentários)
@carvalhobruno
Copy link
Collaborator

Sugestão de stack:

Node.js +express para api e servir o site - é javascript puro, com uma documentação muito boa, e é realmente muito fácil de ser configurado (criar rotas simples + API Restful)

  • Fácil de ser usado/aprendido;
  • Tecnologia final recomendada;
  • Ampla aceitação na comunidade;
  • Impecável em questão de indexação em mecanismos de busca e compartilhamento;
  • Permite avanços graduais em questão de qualidade de código;
  • Permite reutilização de código

Handlebars.js como engine template - funciona basicamente com html puro, suportando lógica e reaproveitamento de código

  • Fácil de ser usado/aprendido;
  • Tecnologia final recomendada;
  • Ampla aceitação na comunidade;
  • Impecável em questão de indexação em mecanismos de busca e compartilhamento;
  • Permite avanços graduais em questão de qualidade de código;
  • Permite reutilização de código

Mysql como banco de dados - é o banco mais usado na comunidade

  • Fácil de ser usado/aprendido;
  • Tecnologia final recomendada;
  • Ampla aceitação na comunidade;
  • Impecável em questão de indexação em mecanismos de busca e compartilhamento;
  • Permite avanços graduais em questão de qualidade de código;
  • Permite reutilização de código

Sass como pré-processador CSS;

  • Fácil de ser usado/aprendido;
  • Tecnologia final recomendada;
  • Ampla aceitação na comunidade;
  • Impecável em questão de indexação em mecanismos de busca e compartilhamento;
  • Permite avanços graduais em questão de qualidade de código;
  • Permite reutilização de código

Gosto dessa stack porque:

Servindo o site com node + handlebars você tem o site sendo renderizado no servidor, diferente de quando se utiliza react ou angular (sem uso de alguma ferramenta externa), o que ajuda e MUITO a indexação nos motores de busca.

Além disso, você tem a criação de uma API Rest simples muito fácil, assim como qualquer pessoa sem maiores conhecimentos em javascript pode editar os htmls normalmente, pois estará sendo usado handlebars como template engine.

Utiliza-se o MySQL por ser de longe o banco de dados com que o maior número de iniciantes terem familiaridade, e ele dar conta do que o projeto demanda.

Sugiro o SASS por facilitar e MUITO a organização do CSS, ser muito pouco diferente do CSS puro (contém basicamente suporte a mais recursos do que o css puro);

Caso aceita a stack, me responsabilizo a criar um boilerplate para ser instalado por quem quiser colaborar e não se sentir confortável com a stack. Me disponho também a ajudar a dar mentoria a esses colaboradores do projeto.

Com o boilerplate pronto, qualquer pessoa que quiser ajudar com o projeto precisará apenas baixar o repositório localmente, saber usar minimamente o NPM (no caso usar npm install pra baixar e instalar todos os pacotes do projeto), e o GIT (pra clonar o projeto e commitar);

Tentei me ater a tecnologias extremamente simples e com GRANDE aceitação da comunidade de desenvolvedores (incluindo iniciantes).

Vou postar a mesma coisa nos outros posts de Definição de tecnologia.

@fititnt
Copy link
Member

fititnt commented Aug 3, 2016

Pessoal, creio que o @carvalhobruno é uma opção que atende os requisitos dessa proposta aqui.

Talvez, a mesma opção no issue #48 não seja tão interessante por questões que prefiro não falar porque eu simplesmente posso estar errado e também porque as pessoas podem sugerir ideias diferentes e melhores do que o carvalho e eu imaginamos

@icoffani
Copy link
Member

icoffani commented Aug 4, 2016

Gente, vou repostar aqui um comentário que fiz no #7 que acho bacana levar em consideração:

Achei um vídeo no Facebook que exemplifica bem a ideia do que podemos fazer. No caso, pode ser um cachorro que muda de nome, e tributos (type, weight, height, etc) aleatoriamente. O que seria legal porque as pessoas se interessariam em colocar a foto de cachorro para ver o que daria, tipo aqueles testes que o pessoal adora no Facebook. Ou então uma imagem com o gramado do jogo e a pokebola mesmo.
Aqui alguns exemplos:
1
2

@fititnt
Copy link
Member

fititnt commented Aug 6, 2016

Comentário geral aqui pro pessoal.

Levando em consideração o #52, e que esse caso aqui parece ser uma boa aplicação para NodeJS, creio que a gente pode no mínimo usar isso, e fechar algo parecido com o que o @carvalhobruno sugeriu. Creio também que a gente tem mais pessoas que tem aptidão com NodeJS do que outras linguagens agora, então não vejo problemas.

Em, sozinho, não tenho como dizer se express e Handlebars é interessante aqui. Não estou dizendo que não é, eu só não tenho proficiência neles, e creio que é interessante ter mais gente afim disso.

Provavelmente, só vale a pena a gente iniciar código no repositório em se tivermos pelo menos dois programadores com acesso direto ao repositório https://github.com/pokemongovet/gerador-fotos-adocao, sem ser apenas no master, além de mim. E que essas duas pessoas, fora o código inicial pra dar uma acelerada no projeto, tenham condições de revisar PRs de pessoas que se interessarem pela ideia.

Vou assumir que a decisão das tecnologias vai realmente depender de termos pelo menos essas duas pessoas além de mim. Não quer dizer que precisam ficar pra sempre, mas se puderem garantir pelo menos uma força na primeira semana de código, acho que está perfeito.

Quem quiser conversar mais, pode entrar no nosso canal em https://pgovet.rocket.chat/channel/gerador-fotos-adocao

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

No branches or pull requests

4 participants