Deseja contribuir em um Projeto Go?
Qual é o Projeto?
Se já trabalhou com com desenvolvimento web em Go, sabe que é padrão a substituição de grandes frameworks por um conjunto específico de bibliotecas que atendam as necessidades do projeto. É uma abordagem eficiente para criar servidores enxutos e simples. Porém ao desenvolver apps grandes aplicando arquiteturas como DDD, e padrões como SOLID, este tipo de abordagem se torna um pesadelo no início dos projetos.
Nos últimos dias tenho trabalhado em um projeto chamado: go-web-templates. O que no futuro deve ser um conjunto de templates agnósticos a Framework para desenvolvimento Web em Go. A ideia é criar uma variedade de projetos prontos para modificação e que possam utilizar qualquer biblioteca que o usuário escolha.
O que você precisa saber para contribuir:
É necessário apenas conhecer a biblioteca Fx de injeção de dependências e ter um bom conhecimento sobre arquitetura de projetos Web.
Não sabe nenhuma das duas coisas? É uma ótima oportunidade de aprender! Eu irei avaliar todas as contribuições, e posso lhe ajudar a continuar contribuindo mesmo que alguma alteração feita por você não entre no repositório de primeira.
Basta realizar o fork do repositótio e enviar um pull request para contribuir.
Qual o status atual?
Neste exato momento estou definindo um template para Grandes monólitos (apis e webapps). A ideia inicial é definir componentes escaláveis e a arquitetura desse tipo de projeto. Uma vez que este tipo esteja definido, vamos derivar projetos de escala menor.
Atualmente temos um projeto REST e uma Webapp, no futuro também serão adicionados projetos Graphql e GRPC.
Com o que pode contribuir agora?
Estes são as mudanças necessárias no momento:
- Reorganizar os controladores diminuindo o código necessário em cada endpoint.
- Adicionar uma solução geral para middlewares globais, adicionando middlewares de render de erros na Webapp.
- Organizar o repositório para múltiplos templates.
- Adicionar os Projetos GRPC e Graphql.
Objetivos futuros:
- Adicionar novos templates com outros frameworks web e ORM's.
- Criar um cli para gerar os templates automaticamente.
Como ajudar mesmo sem enviar código?
Comente ou Compartilhe essa publicação com seus amigos Dev Go, ou que já conhecem desenvolvimento Web e desejam aprender Go. Muitos deles precisam apenas de novos projetos em seu portfólio, e este projeto precisa apenas de contribuidores.