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

Boilerplate para decisões do ferramental #10

Closed
pabrrs opened this issue Apr 28, 2020 · 4 comments
Closed

Boilerplate para decisões do ferramental #10

pabrrs opened this issue Apr 28, 2020 · 4 comments
Labels
Prioridade: Crítico Isso deve ser resolvido IMEDIATAMENTE. Não ajeitar isso pode ocasionar problemas serios Status: Precisa De Mais Informações Está faltando informações cruciais para prosseguir Tipo: Discussão Discussão sobre mudanças ou decisões Tipo: Épico Uma tarefa complexa que contém sub tarefas

Comments

@pabrrs
Copy link
Member

pabrrs commented Apr 28, 2020

Problema

Precisamos criar a estrutura de código do projeto para iniciarmos o desenvolvimento. Com isso é necessário montar um boilerplate, organizando as ferramentas e elementos que o projeto de backend irá utilizar.

Estratégia

Sugestão de tópicos que podemos pensar:

  • Javascript ou Typescript ? Decidido por Javascript. Mais informações no chat do Discord
  • Qual framework http ? Ex: express, fastify, hapi.js, etc
  • Qual padrão de código iremos utilizar ? Ex: MVC, MVVM, etc
  • Iremos utilizar algum framework alto nível ? Ex: NestJS, AdonisJS, etc
  • Qual estilo de código ? Ex: AirBnB Style Guide, Google Style Guide, JS Standard Style Guide, etc
  • Quais bibliotecas de testes ? Ex: Jest, Mocha, etc
  • Quais linters e formatters ? Ex: ESlint, prettier, etc

Algumas dessas decisões já estão sendo discutidas nas issues #2 e #4 e no chat do Discord.

São muitas dúvidas e certamente ainda falta coisa. Acredito que podemos olhar para algo já pronto e extrair o melhor dele, ou criar algo do zero, agregando as boas práticas que o time decidir adotar.

Sugestões são bem vindas 🎉

@pabrrs pabrrs added Status: Aceitamos PR Faz um PR para a gente? Tipo: Discussão Discussão sobre mudanças ou decisões labels Apr 28, 2020
@rodrigondec rodrigondec added Status: Precisa De Mais Informações Está faltando informações cruciais para prosseguir Tipo: Épico Uma tarefa complexa que contém sub tarefas Prioridade: Crítico Isso deve ser resolvido IMEDIATAMENTE. Não ajeitar isso pode ocasionar problemas serios and removed Status: Aceitamos PR Faz um PR para a gente? labels Apr 28, 2020
@vilchesalves
Copy link

tl;dr: Minhas sugestões são Javascript, Express, Apollo Server, Jest, ESlint, AirBnB.

js porque todas as enquetes votam js e porque a maioria dos benefícios do ts é acessível usando as ferramentas de desenvolvimento corretas. Aqui tem um artigo a respeito.

Sobre Framework, eu optaria pelo minimalismo do Express, mas precisaríamos de alguém com alguma experiência pra montar as camadas da aplicação. Se os tech leads tiverem algo que estiverem mais familiarizados com outras opções, como Nest.js, acho válido que usemos, também.

Apollo Server, por ser o padrão da indústria para montar o backend de uma aplicação GraphQL. E por ter integração com praticamente qualquer escolha que seja feita no quesito framework.

Jest pelas funcionalidades e facilidade de uso. Faz 2 anos que não uso mocha e mudar pro jest foi muito muito simples. Não sei como anda o mocha hoje em dia.

E ESlint com AirBnB por ser educativo quanto a melhores práticas de desenvolvimento e não, simplesmente, um formatador de linhas de código.

@pabrrs
Copy link
Member Author

pabrrs commented Apr 30, 2020

@vilchesalves Ótimos pontos 👏

@jailsonsilveira
Copy link

@vilchesalves eu concordo com todas as suas sugestões. Apenas adiciono que o Nestjs é uma ótima opção, justamente por facilitar o crescimento do projeto, o uso facilitado, documentação bem completa, e etc

@JoaoPellissari
Copy link

Olá Galera,

Gostaria aqui de deixar minha contribuição de alguns anos em desenvolvimento mobile.

Já passei por vários brainstorming e benchmarks de qual modelo seria o melhor para iniciar o desenvolvimento de uma aplicação mobile, a questão sempre irá ser o tempo de entrega no desenvolvimento, pois todos os modelos são muito bons.

Eu proponho que nesse "first step", de concepção do projeto, seria super interessante a utilização do Parse Server, framework para backend em nodejs. O foco desse framework é performance e entrega, já vem com vários recursos para o inicio do desenvolvimento, assim como Apollo Server, com geração automática de schemas e outros recursos como AWS S3, Pusher, SQS, Mailer, Worker Jobs, LiveQuery, ACL, Triggers, Events, Backend Dashboard, Logs e outros infinitos recursos que iram agilizar o desenvolvimento para a aplicação mobile.

Considerações finais, Eu utilizo ele desde que o Facebook mantinha o framework, e desde então já se contabiliza 12 projetos desenvolvidos.

@pabrrs pabrrs mentioned this issue May 3, 2020
3 tasks
@pictos pictos closed this as completed May 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Prioridade: Crítico Isso deve ser resolvido IMEDIATAMENTE. Não ajeitar isso pode ocasionar problemas serios Status: Precisa De Mais Informações Está faltando informações cruciais para prosseguir Tipo: Discussão Discussão sobre mudanças ou decisões Tipo: Épico Uma tarefa complexa que contém sub tarefas
Projects
None yet
Development

No branches or pull requests

6 participants