Essa aplicação não seria possível sem a existência de:
No lugar de tabelas do excel, você pode usar o KDerninho para:
- Estimar custo, faturamento e margem de receitas de forma dinâmica
- Gerenciar o estoque de seus insumos e outros insumos
- Gerenciar seu fluxo de caixa cadastrando compras, produção de receitas e outros gastos em geral
- Compartilhar essas informações com outros usuários de sua organização
- Exportar e importar dados em CSV (⚙ Em desenvolvimento)
O KDerninho já tem uma versão rodando no Railway que você já pode usar:
Essa é uma demonstração de uma versão que ainda está em desenvolvimento, todos os dados serão apagados no lançamento da próxima versão*
./run install
- Crie um ambiente virtual com
python3 -m venv .venv - Inicie o ambiente virtual cmo
source ./.venv/bin/activate - Instale as bibliotecas necessárias com
pip install -r requirements.txt
./run server
- Inicie a aplicação com
uvicorn src.app:app --reload
- Inicie a aplicação
- Acesse
127.0.0.1:8000/docs - Execute a rota
/reset_dbpassando noHeadera chavetoken: batatafritapara criar dados de testes no banco
curl --location --request POST 'http://127.0.0.1:8000/scripts/reset_db' \
--header 'token: batatafrita'
- Use a conta
[email protected]com a senha123para acessar como usuário - Use a conta
[email protected]com a senhaadminpara acessar como admin
./run tests
DATABASE_URL="sqlite:///test.db" python -m pytest -s -x
./run coverage
DATABASE_URL="sqlite:///test.db" coverage run -m pytest && coverage html && rm coverage.svg && coverage-badge -o coverage.svg
- Separar
scripts.js - Ajustar exibição de datas em modais
- Permitir valores quebrados em inputs
- Cadastrar movimentação de estoque a partir de
receita_idequantidade_produzida - Cadastrar quantidade positiva/negativa em estoque a partir de descrição
- Remover tela
Insumos(confusa) - Usar clique em linha em vez de
editar/excluir - Adicionar checkbox com delete massivo em tabelas
- Caixa
- Estoques
- Receitas
- Listagem
- Insumos
- Adicionar opção excluir em modal de
editar- Caixa
- Estoque
- Receitas
- Listagem
- Insumos
- Melhorar UX para mobile
- Bloquear acesso sem login (decorator)
- Padronizar botão
AçõescontendoCriareApagar - Adicionar confirmação para sair
- Encontrar lugar para editar nome de insumo
- Maior robustes em delete/update para garantir organization_id
- Autenticação em fluxos de
seed - Ajustar redirect de erro
- Melhorar
db.py - Modal
Meu Perfil - Novo layout
- Admin
- Toggle modo escuro/claro
- Login
- Formulários verticais em modal
- Padronizar método
dict()em entidades para preencherdata-bs-payload- Atualizar JS para pegar
data-bs-payloaddetrao clicar emtd - Padronizar formatação de YYYY-MM-DD
- Atualizar JS para pegar
- Aperfeiçoar ainda mais modal e criação e edição de Estoque
- Funcionalidade modal
Meu Perfil - Padronizar uso de
HEADER_AUTHem vez de decorator- Apagar decorator
- Tela "sobre a aplicação"
- Corrigir modal de perfil
- Corrigir inputs de data
- Tela de criação de conta
- Funcionalidade criação de conta + organização
- Bloqueio organizações com mesmo nome
- Tela "Organização"
- Alterar nome da organização
- Criar usuário
- Apagar usuário
- Criar usuário dono
- Limitar ações para apenas donos
- Editar usuário
- Modal
- Funcionalidade
- Alterar senha
- Modal
- Funcionalidade
- Reorganizar rotas
- Expiração de Sessão login
- Redirecionamento de acordo com status_code
- Permitindo organizações com mesmo nome
- Refatorar
auth.py - Reestruturar sesão autorizada de banco de dados
- Alertas de sucesso
- Padronização de termos (criar, atualizar, excluír, incluir e remover)
- Unificar modal "deleteSelecionados"
- Funcionalidade esqueci minha senha
- "Lembrar de mim neste dispositivo"
- Melhorar
repository.py- Unificar verificacao de permissões
- Unificar fluxos repetitivos
- Geração de QR Code p/ chave PIX da organização
- Geração de QR Code PIX com valor da venda
- Campos
cidadeechave_pixem Organização- Atualização dos campos a partir de tela
/organização - Geração de QR Code última venda com dados da organização
- Atualização dos campos a partir de tela
- Campo
pagaem venda - Melhorar
repository.py - Menu "Ações" mobile
- Ação
marcar como pagaem vendas - Ação
marcar como pagaem home - Atalho para
marcar como pagaem Home - Modularização de tabelas
- Template
table.htmlgenérico - Método
columnserowem entidades - Modularizar modal
- Remoção
.../table.html - Contempla
hrefpara Receitas - Contempla "insumos" de Receita
- Template
- Gestão de insumos
- Exibir receitas associadas em Insumo
- Exibir estoque atual em insumos
- Configurações em Organização
- Card colapsavel de configurações
- Campos JSON em banco de dados
- Rota de atualização / assocaição com tela
- Aplicar filtro de medida de acordo com config
- Aplicar filtro de medida geral de acordo com config
- Aplicar calculos baseados em custo med/g de acordo com config
- Collapse em QR Code home
- Reorganização de templates
- Paginação em tabelas
- Reorganização de roteadores
- Criação de Schemas
- Ingredientes viraram Insumos
- Permitir unidades em insumos (gramas e unidade)
- Atualizar calculo de receitas
- Ajustar contexto e sessão
- Ajustar informações dashboard
- Melhoria descrição de movimentação
Uso em Receita - Instalação de
logurupara logs em arquivo rotativo e logs aprimorados - Alerta "Sobre essa página" com link para documentação completa
- Home
- Caixa
- Estoque
- Receitas
- Detalhe de Receita
- Insumos
- Organização
- Documentação completa agregando todas as docs
- Referências para docs completa
- Tornar alerta "apagavel" (metadata de usuário em JSON talvez?)
- LocalStorage deu conta do recado
- Testes unitários com 95% de cobertura
- Favicon
- Senhas haseadas no banco
- Gerar QR PIX em detalhamento de vendas
- Modularizar rotas
- Ajustar fluxo de caixa para últimos 30 dias
- Página de Logs
- Scroll voltando após fechar modal
- Tornar aplicação assíncrona
- ✨ Transformar aplicação em PWA
- Botão "Baixe o App"
- Modal "Baixe o App"
- Campo
planoem Organização- Exibir plano atual
- Botão para upgrade/extensão de plano
- Campo
custo fixoem receita - Campo
porc. tributáriaem receita - Separar modal
InsumoeGastoem receita - Tabela
CaixaviraFluxo de Caixae aceitaEntradaeSaída- Campo
recebido
- Campo
- Gráfico de fluxo de caixa
- Cadastro de custo recorrente em
Organização- Gráfico "fluxo de caixa"
- Margem em fluxo de caixa
- Margem final em fluxo de caixa
- Cacheamento de dados de fluxo de caixa
- Mini fluxo de caixa em cabeçalho
- Forçar limpeza de cache em organização
- Filtro em tabelas
- Geração de QR Code PIX com valor customizado
- Upload e download de CSV
- Autenticacao com OAuth2
- Modal para upgrade/extensão de plano
- Limitar número de registros por plano em
create - Rota
/integration/paymentque recebe informações de pagamento e atualizaplanoeultimo_pagamento_id