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: Casos de sucesso na adoção de animais #48

Closed rcgivisiez closed 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, é necessário ir além de apenas fazer software, e sim motivar ações no mundo real, e nada melhor do que isso que estimular divulgação de casos de sucesso.

Neste sentido, acreditamos que o ideal é ter um repositório exclusivo apenas para adicionar notícias que, pelo menos aparentemente, deram certo. Pode ser algo mais simples, como até um depoimento de protetor de animal que percebe que fazer anúncios de um jeito melhora conversão para adoção, ou mesmo uma estratégia em algum país distante (como disponibilizar em uma cafeteria animais para serem acariciados e que estão disponíveis para adoção).

Porém, nós temos dezenas de possibilidades de implementação, e nós acreditamos que o ideal é decidir qual publico alvo, e incentivar o uso ou bloquear temporariamente uma sugestão de nova tecnologia baseada exclusivamente no publico que fará uso do site e do publico que adicionará conteúdo ao site.

Não é apenas uma tecnologia, os humanos que a consomem são importantes. E, se a sugestão de uma tecnologia trazer mais dificuldade para um humano que vai manter o site com conteúdo, ou que vai consumir o site (por exemplo, prejudicando a UX, ou SEO), acredito que isso mereça ser discutido antes de adotado no projeto.

Requisitos rígidos

Nota: podemos usar algo como um um static generator, mas se a solução das pessoas aqui envolver "apertar mais botões" do que usar um CMS como Wordpress, Joomla ou Drupal, vamos usar um CMS.

Requisitos não 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, eu não vou definir qual tecnologia usar aqui, mas esse tópico aqui nos temos certa urgência pra já ir juntando conteúdo. E talvez até amanha isto esteja criado em jekyll "só para ter" algo no ar e, seja completamente reescrito assim que o pessoal tiver decidido. Ou então só jogar os arquivos em markdown mesmo.

@carvalhobruno vejo que você tá bem animado com isso. Se você quiser acesso de write no repositório e preparar o jekyll, ou então qualquer outra pessoa que souber jekyll quiser rushar algo antes de ser escolhido a tecnologia, só falar comigo ainda essa noite que a gente libera.

Se ficar em markdown, será so pra ter conteúdo, e se ficar em Jekyll, já da pro pessoal de frontend ir fazendo o visual. Eu to preocupado em agilizar isso porque a gente tem que incentivar pessoal a entender os problemas.

As definição de tecnologias básicas de #49 e #50 não urgentes.

neysimoes commented 7 years ago

@carvalhobruno cara gostei muito da stack que sugeriu, mas o que acha de trocar o Handlebars.js por Nunjucks?

Nunjucks é uma template engine que também funciona com HTML puro a sintaxe é muito simples para programadores iniciantes e também é bem robusta para programadores avançados. Ela é mantida pela Mozilla e se você olhar posts comparativos de template engine vai ver que essa é a que tem mais "prós" e menos "contras".

Estou utilizando ela em 3 projetos e recomendo fortemente. 👍

rcgivisiez commented 7 years ago

Colegas, conversei com a @icoffani e o Emerson sobre esse issue.

Nesse momento, e isso é importante deixar claro que pode mudar com colaboração e opinião dos demais, vamos manter essa nova proposta aqui com gerador de páginas estáticas Jekyll e servir o conteúdo a partir do Github Pages.

Não quer dizer que é a melhor solução, mas é uma solução.

O @fititnt já disse que vai conversar com o @carvalhobruno lá no https://pgovet.rocket.chat. Acho que essas sugestões do Carvalho vão ser aplicadas no #50 se a gente conseguir pelo menos duas pessoas pra commitar direto sem PR.