Projeto Final: Sistema de Gerenciamento de Estoque I/O 📦
O projeto final é a consolidação de tudo o que aprendemos. Você vai construir uma aplicação que gerencia o estoque de uma loja, salvando os dados em arquivo e permitindo consultas concorrentes.
📋 Requisitos Integradores
- Estruturas: Use
StructseEnumspara representar produtos e categorias. - Segurança: Implemente tratamento de erros robusto com
Result. - Concorrência: Permita que uma thread de "auditória" leia o arquivo de estoque enquanto o usuário adiciona novos itens.
- Interface: Crie uma CLI profissional usando
clap.
🛠️ Sugestão de Estrutura de Código
lib.rs: Contém a lógica de negócio (adicionar produto, salvar em arquivo, ler estoque).models.rs: Define as structs e enums do domínio.main.rs: Interface de linha de comando.
🚀 Desafios Extra (Opcional)
- [ ] Web Integration: Adicione uma pequena API Actix Web que permita consultar o estoque via navegador.
- [ ] Testes: Garanta que todas as funções críticas tenham pelo menos 80% de cobertura de testes.
🏁 Entrega
O seu repositório deve conter:
1. Arquivos .rs organizados.
2. Cargo.toml com dependências.
3. Um README.md explicando o funcionamento e como rodar o sistema.
4. Exemplos de uso (screenshots ou logs do terminal).