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

Nova versão do djangoSIGE para Django 5.0, Python 3.12 #137

Open
AltoRetrato opened this issue Nov 26, 2023 · 10 comments
Open

Nova versão do djangoSIGE para Django 5.0, Python 3.12 #137

AltoRetrato opened this issue Nov 26, 2023 · 10 comments

Comments

@AltoRetrato
Copy link

AltoRetrato commented Nov 26, 2023

Olá a todos!

Parece que a última atualização feita por @thiagopena no djangoSIGE foi em 12/2019, a última atualização oficial do projeto foi em 04/2021, pelo @rg3915 , e o @asbmails2 fez o PR #129 em 09/2022 para permitir o programa rodar em Python 3.10 e Django 4.

Estou considerando atualizar o sistema para Django 5.0 e Python 3.12, mas antes gostaria de ouvir a opinião de vocês, desenvolvedores e usuários, sobre alguns pontos:

  • Saberiam dizer o motivo do aparente abandono deste projeto?
  • Ainda há demanda pelo djangoSIGE?
  • Existem forks ativos / atualizados do djangoSIGE?
    • Vi rapidamente alguns, mas com poucas estrelas e sem indícios de que serão mantidos ativamente. Os mais atualizados parecem ser os de @asbmails2 (aqui) e @braully (aqui), que talvez seja uma versão do primeiro.
  • Recomendam alguma alternativa ao djangoSIGE?

Ainda não uso o djangoSIGE, mas o descobri há alguns anos e estou pensando em implementá-lo. Se conhecerem outras limitações ou problemas do sistema, agradeço se puderem compartilhar.

@victtorvpb
Copy link
Collaborator

@AltoRetrato meio que o abandono se deu por conta da emissão de nota, a biblioteca usada para emitir nfe foi descontinuada e acabou que ninguém(me incluo tb, fiquei preso no certificado depois não tive mais tempo) teve tempo para atualizar ela ou mudar por outra.

@braully
Copy link

braully commented Nov 26, 2023

Olá.

Acredito que o projeto esteja a muito sem atualização nos últimos anos pois o autor original @thiagopena está envolto em outros projetos profissionais e de vida, bem comum em softwares livres mantidos por poucos desenvolveres de forma autônoma. Acredito que se um grupo de patrocinadores mensais cintiribuiessem com o projeto, ele se manteria atualizado e evoluindo, eu mesmo estou disposto a aportar de 300-500 reais mensamente no projeto para que ele se mantivesse atualizado e evoluindo, mais uns 10 patrocinadores com esse mesmo orçamento acho que o projeto sobreviveria.

Sobre o projeto: acho o Djangosige bem elegante e simples, com boa funcionalidades que atendem a maioria dos negócios. Já tentei usar o odoo, nexterp, com localizações ptbr, mas são muito pesados, complicados, desatualizados e difíceis de manter, por isso ainda prefiro atender a algumas manutenções no Djangosige a migrar para outros projetos desses.

Minha contribuição: Dei uma boa revisada em algumas versões do Sige e incorporei na minha branch "melhorias-comunidade" fiz algumas atualizações na lib de NF-e para tentar utilizar a nf 4.01 e consegui fazer algumas coisas na Sefaz de Goiás e corrigir alguns Bugs na importação local da nota.

O que pretendo fazer: estou modificando parte dos models para incorporar a lib Django-ledger para ter relatórios de balancete, DRE e outras coisas contábeis, devo encerrar por aí minhas contribuições pois já terei atingido meu objetivo no uso do projeto. Mas estou aberto a compor um grupo de pessoas disposta a evoluir o projeto de forma livre, colaborativa e de patrocinadores.

@AltoRetrato
Copy link
Author

Grato a ambos pelas respostas!

@braully, entendo perfeitamente que o @thiagopena tenha outras prioridades, e só tenho a agradecer a ele por todo o trabalho que deixou disponível para livre uso por todos. E, pelo que vejo, parece que suas contribuições (e de demais colaboradores) melhoraram consideravelmente o projeto - pelo que também agradeço! 👍

Também gostaria de contribuir, mas fica a dúvida: podemos considerar que o @thiagopena não deve voltar a manter o projeto, e que não há nenhum outro colaborador habilitado a aceitar PRs neste projeto?

Se for esse o caso, imagino que possa fazer sentido alguém criar um fork como um "djangoSIGE 2.0" (ou "5.0", se for para acompanhar a versão do Django) para consolidar as melhorias da comunidade e manter o projeto ativo. É claro que manter um projeto ativo requer tempo e esforços adicionais (para revisar código, resolver issues, etc.), e acho normal e esperado que qualquer pessoa "perca o gás" após algum tempo... mas é possível "passar a tocha" adiante em algum momento.

Neste momento, penso em fazer um teste (provavelmente do seu fork) para avaliar o djangoSIGE e ver quais modificações seriam necessárias para atender minhas necessidades. Teria interesse em receber PRs dessas e outras mudanças em sua versão?

@braully
Copy link

braully commented Nov 28, 2023

Atualmente a minha branch "melhoria-comunidade" está muito instavel e pretendo refatorar bastante os models de empresa, fornecedores e clientes para compatibilizar o django-ledger. Posso fazer um fork mais estavel em e se quiser solicitar pull request de coisas estaveis lá, me comprometo a fazer o merge sempre e subir uma versão demo de testes em: https://github.com/bropen/djangoSIGE/

@AltoRetrato
Copy link
Author

Obrigado, Braully!

Alternativamente, se puder dizer quais são as instabilidades e quais alterações precisam ser feitas, posso tentar contribuir, também.

Enquanto isso, acha que o master branch está estável o suficiente para produção?

@braully
Copy link

braully commented Dec 2, 2023

Na branch de melhorias-comunidade não recomendo mecher pois está instavel, se quiser avaliar. Eu adicionei uma lib de tarefas, uma lib de wiki e django-ledger e estou remendando as pontas e removendo algumas dependências. O master ao que me lembro tinha um pequeno bug no cadastro de itens de estoque, mas como estava testando o estoque com importação de notas fiscais de entradas, nem me atentei para isso. Acredito que resolvendo esse bug está esetavel para produção em pequenos negocio.s

@ghost
Copy link

ghost commented Jan 5, 2024

Fala pessoa!

Vou tentar reescrever o projeto inteiro. Não garanto que vou conseguir porque sou junior ainda. Quero usar esse projeto como laboratório para avaliar as minhas habilidades.

esse é o meu fork https://github.com/webtingueta/djangoSIGE.

Ainda estou bem no inicio dos trabalhos mas ficaria muito feliz se alguém pudesse avaliar o meu progresso.

Uma pergunta: Esse projeto é usado em produção ou ele é meramente acadêmico?

@asbmails2
Copy link

Fala @webtingueta, Joia?
Por minha parte, fiz o ajuste para poder testar a possibilidade de usar para os meus clientes de contabilidade. Contudo, após ajustar a versão do django e python fiz alguns testes no sistema. Ele é feito para a parte de comércio e não exatamente para serviços e vi a necessidade de mexer no sistema para ajustar as notas de serviço. mas logo após ver isso o governo mudou o sistema de emissão de notas de serviço para o DF e depois mudaram as notas de serviço para o MEI. Nesse meio tempo fiquei off na programação e não acompanhei o projeto de perto.
O projeto tem potencial principalmente no quesito de ERP para empresas comerciais de pequeno porte. Para serviços teria que criar o módulo de gestão específico.
Sou júnior em programação também.
Caso queira atualizar o projeto seria interessante.

@braully
Copy link

braully commented Jan 5, 2024

@webtingueta eu não recomendaria reescrever o projeto todo, nem para aprender, ele atende bem pequenos negócios.
Se você tem tempo e está disposto a por a mão no código vai aí uns lista de melhorias necessária para negócios de porte médio.

Cadastro:

Um bug bem comum nesse tipo de herança, impede que um cliente seja ou fornecedor ou um transportadora e vice versa, é necessário duplicar os cadastro. Trataria tudo como uma entidade só, sem herança me aproximando mais da modelagem do Django-ledger ou do Universal Data Model, que facilitaria depois na gestão contábil.
Referência e recomendação de estudo:
https://www.amazon.com/Data-Model-Resource-Book-Vol/dp/0471380237
https://django-ledger.readthedocs.io/en/develop/

Financeiro:
As telas financeiras ficam lentas com o tempo, os registros são todos carregados todas as vezes que a tela é aberta, toda a parte de busca e paginação é feita no cliente vis js. Recomendo uma melhoria na CustomListView para paginar no backend usando os métodos já disponíveis no django. De forma análoga adicionar uma filtragem nessas listas também, por exemplo não é possível hoje buscar lançamentos com vencimento de uma data de início até uma data de fim, ainda na melhoria do CustomListView eu adicioria uma biblioteca como o django-filter para facilitar esse trabalho. Ainda na CustomListView uma melhoria no processamento do post para processar ação em lote que hoje aceita apenas a ação de remover, uma gama maior de operações poderia ser usada.

Ainda no financeiro as entradas e saidas parceladas não tem relação entre si, a compra e a venda geram as parcelas mas não existe uma relação entre elas no banco de dados, precisaria de uma entidade a mais ai no meio do caminho para agregar as parcelas e estabelecer uma relação direta com a compra ou a venda.

O sistema possuí apenas um caixa único para dar baixa nos pagamentos, e o pagamento é muito simples também, só é possível informar a data, descontos, acréscimos e outras coisas não é possível. Uma melhroia na parte de baixa das contas, caixa e plano de contas é necessário para uma melhor gestão da parte de contas bancárias e lançamentos contábeis.

Fiscal:
A nota fiscal é possível atualizar para a 4.01 e corrigir com poucas mudanças, acho até que já tem corrigido por ai, com um plano de contas mais elaborado,
seria possível registrar os impostos, retenções e outras operações necessárias para a parte fiscal de um cliente mais complexo que o simples nacional.

Frontend:
O frontend precisaria de uma refatorada no admin.js e colocar em arquivos específicos para cada view/form e usar o media para carrega-los.
Na modelagem eu faria alterações em pessoa, pessoajuridica, pessoafisica, cliente, fornecedor e transportadora.
Muita coisa do fronte pode ser removida e rescrita de forma mais simples usando as bibliotecas django-widget-tweaks e django-crispy-forms,
talvez até trocar o layout para o um mais moderno como por exemplo: https://github.com/zuramai/mazer

Atualmente sem tempo para por a mão na massa, mesmo de forma remunerada, mas o sige já atendeu as demandas que eu precisava. Obrigado aos envolvidos.

@asbmails2
Copy link

ficaria interessante atualizar o sistema e ver a possibilidade da criação e/ou vinculaççao com outra plataforma de emissão de nfe. um caminho talvez seria a parceria com o sebrae - https://sebrae.com.br/sites/PortalSebrae/artigos/novo-emissor-de-nf-e-sebrae,952bea291af83810VgnVCM100000d701210aRCRD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants