Utilizando o manager do Django para facilitar meu trabalho.
Ter escolhido o Python/Django para trabalhar no desenvolvimento das minhas aplicações web/sites lá em 2008 foi uma das decisões mais acertadas na minha vida profissional. O Django estava na versão 1.x e o Python estava longe de ser o sucesso que é hoje, na época o Java dominava.
Dentre as inúmeras vantagens do Django sem sombra de dúvida o "admin" é a que mais chama a atenção, pois com algumas poucas linhas de configuração entrega ao desenvolvedor uma interface de manipulação dos dados CRUD com várias funcionalidades prontas, como listagem, paginação, filtro, buscas, validação de entrada de dados. Mas o que poucas pessoas conhecem é o poder do manager do Django, docs, que além de trazer uma interface de manipulação dos dados permite aos desenvolvedores que trabalham com Django turbinarem o dia a dia do desenvolvimento de sistemas.
Juntando o poder do manager com o conceito DRY do Django de evitar ao máximo o trabalho repetido, eu decidi implementar um manager para automatizar muitas etapas do desenvolvimento dos meus projetos.
No Django trabalhamos com o conceito de MVT, Model View e Template, e o que eu fiz foi desenvolver um manager para gerar de forma padronizada as camadas de Views, Templates, Forms e Urls que cada app Django precisa ter para poder trabalhar. A geração do código se dá por meio do mapeamento dos Models de cada App Django e a interpolação com arquivos txt´s contendo os snippets de cada arquivo .py e html necessário para construir uma app Django.
Depois de refinar a geração dos arquivos no projeto Django decidi partir para um desafio um pouco maior. Ampliei o poder do manager gerando um projeto FastAPI responsável pela camanda de ApiRest e também um projeto Flutter - mobile desta forma todo o processo massante e repetitivo de criar arquivos de rotas, models, schemas, telas e etc agora estão resumidos ao processo de executar algumas chamadas de linha de comando no terminal do projeto.
Ainda não é possível liberar o projeto na modalidade OpenSource, mas estou trabalhando para isso junto com o jurídico, e em breve liberarei para que seja possível receber ajuda daqueles que desejarem.