Projeto Django simples para gerenciar geladinhos (produtos), entradas (inflows) e saídas (outflows).
Visão geral
- App principal: gerenciamento de produtos ("geladinhos") e controle de estoque através de entradas e saídas.
- Métricas de estoque e vendas calculadas em
core/metrics.pyvia as funçõescore.metrics.get_geladinho_metricsecore.metrics.get_sales_metrics.
Arquitetura / arquivos importantes
- Configuração do projeto: core/settings.py e manage.py
- URLs principais: core/urls.py (inclui geladinhos/urls.py, inflows/urls.py e outflows/urls.py)
- Models:
geladinhos.models.Geladinho— modelo de produto (geladinhos/models.py)inflows.models.Inflow— entradas de estoque (inflows/models.py)outflows.models.Outflow— saídas de estoque (outflows/models.py)
- Forms: geladinhos/forms.py, inflows/forms.py, outflows/forms.py
- Signals que atualizam o estoque automaticamente:
- Templates base e componentes: core/templates/base.html e core/templates/components/_*.html
- Views que expõem listas/criar/detalhes: geladinhos/views.py, inflows/views.py, outflows/views.py
- Banco de dados: A Configurar, utilzei Postgres.
Instalação (rápido)
- Criar e ativar virtualenv:
- Ex.: python -m venv .venv && source .venv/bin/activate (Linux/macOS) ou .venv\Scripts\activate (Windows)
- Instalar dependências:
- pip install -r requirements.txt (adicione um requirements se necessário)
- Configurar variáveis de ambiente (ex.:
.env) usadas por core/settings.py (SECRET_KEY, DEBUG, DB_HOST, DB_PASSWORD, ...)
Banco de dados / migrações
- Usar as migrations já presentes em cada app (ex.: geladinhos/migrations, inflows/migrations, outflows/migrations) para criar tabelas.
- Comandos comuns:
- python manage.py makemigrations
- python manage.py migrate
Executando localmente
- Iniciar servidor de desenvolvimento:
- python manage.py runserver
- Acesse:
- Dashboard / lista de geladinhos via as rotas definidas em geladinhos/urls.py, inflows/urls.py e outflows/urls.py. A homepage é servida por core/views.py::home e configurada em core/urls.py.
Observações rápidas
- As métricas mostradas nas views usam
core.metrics.get_geladinho_metricsecore.metrics.get_sales_metrics— útil para dashboard. - Signals atualizam automaticamente a quantidade no modelo
geladinhos.models.Geladinhoquando entradas/saídas são criadas. - Ajuste
BASE_DIR,DATABASESe variáveis de ambiente em core/settings.py conforme seu ambiente (local / produção).
API: Api Integrada para consulta básica e Crud, além de futura Integracao.