pokemongovet / pokemongovet.github.io

Projeto para incentivar adoção de animais pessoas que amam pokemons virtuais
https://pokemongovet.github.io/
Other
102 stars 38 forks source link

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

Open rcgivisiez opened 7 years ago

rcgivisiez commented 7 years ago

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 https://github.com/pokemongovet/pokemongo.vet.br/issues/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

carvalhobruno commented 7 years ago

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)

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

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

Sass como pré-processador CSS;


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 commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

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