https://github.com/mgnischor/cbm-lrv-estoque
Sistema de controle de estoque desenvolvido em C# e WPF para o Corpo de Bombeiros Militar de Lucas do Rio Verde, com gerenciamento de materiais, entradas, saídas, relatórios e controle de validade.
https://github.com/mgnischor/cbm-lrv-estoque
csharp nsis sqlite wpf
Last synced: 7 days ago
JSON representation
Sistema de controle de estoque desenvolvido em C# e WPF para o Corpo de Bombeiros Militar de Lucas do Rio Verde, com gerenciamento de materiais, entradas, saídas, relatórios e controle de validade.
- Host: GitHub
- URL: https://github.com/mgnischor/cbm-lrv-estoque
- Owner: mgnischor
- License: gpl-3.0
- Created: 2026-05-13T14:25:42.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-06-15T01:10:54.000Z (9 days ago)
- Last Synced: 2026-06-15T02:26:43.681Z (9 days ago)
- Topics: csharp, nsis, sqlite, wpf
- Language: C#
- Homepage: https://github.com/mgnischor/cbm-lrv-estoque
- Size: 130 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# CBM LRV Estoque
Sistema desktop de controle de estoque com endereçamento e gerenciamento de validade, desenvolvido para o **Corpo de Bombeiros Militar de Lucas do Rio Verde**.
## Descrição
Aplicação Windows (WPF) para gestão de materiais e suprimentos do CBM-LRV. Permite controlar o inventário com endereçamento físico (setor/rua/coluna/nível), registrar movimentações de entrada e saída, cadastrar lotes com data de validade e emitir alertas de vencimento.
Os dados são persistidos localmente em banco de dados SQLite, sem necessidade de servidor ou conexão de rede.
## Funcionalidades
- **Controle de estoque**: movimentação de entrada e saída por produto e endereço; ajuste direto de quantidade
- **Endereçamento**: localização física de itens por Setor → Rua → Coluna → Nível
- **Cadastro de produtos**: código, nome, descrição, unidade, categoria e patrimônio
- **Lotes e validade**: registro de lote, data de fabricação, data de validade e quantidade; alerta visual de itens vencidos ou próximos ao vencimento
- **Filtros**: pesquisa por texto em todas as telas
## Tecnologias
| Camada | Tecnologia |
| ------------ | ----------------------------------------------- |
| Interface | WPF (.NET 10, Windows) |
| Persistência | SQLite via `Microsoft.Data.Sqlite` 10.0.8 |
| Arquitetura | Domain-Driven Design (DDD) |
| Publicação | Single-file, self-contained (win-x86 / win-x64) |
## Estrutura do Projeto
```
Source/
├── Domain/
│ ├── Entities/ # Produto, Endereco
│ └── Aggregates/ # ItemEstoque, LoteProduto
├── Infrastructure/
│ └── Data/ # DatabaseService (SQLite)
└── Presentation/
├── Windows/ # MainWindow
├── Views/ # CadastroProdutoWindow, CadastroEnderecoWindow, ValidadeWindow
├── Converters/ # StatusToColorConverter
└── Dialogs/ # InputDialog
```
A saída de build segue o padrão:
```
Build/
├── Debug/ x86/ e x64/ ← builds de desenvolvimento
├── Release/ x86/ e x64/ ← builds de produção
└── Publish/ Release/ x86/ e x64/ ← executável único auto-contido
```
## Compilação
Requer o **.NET 10 SDK** instalado.
```powershell
# Build x64 Debug
dotnet build -p:Platform=x64 -c Debug
# Build x86 Debug
dotnet build -p:Platform=x86 -c Debug
# Publicar executável único x64 (self-contained)
dotnet publish -p:Platform=x64 -c Release
```
O executável publicado estará em `Build\Publish\Release\x64\cbm-lrv-estoque.exe` e não exige instalação do .NET na máquina de destino.
## Dados
O banco de dados é criado automaticamente na primeira execução em:
```
%LOCALAPPDATA%\controle-estoque\estoque.db
```
---
**Desenvolvido para o Corpo de Bombeiros Militar de Lucas do Rio Verde**