Aplicação que realiza a leitura de arquivos com dados de estoque e gera, como saída, um relatório acerca destes dados.
Os dados de estoques são obtidos via arquivos que podem ser do tipo JSON, CSV ou XML. Além disso, o relatório final possuirá duas versões: simples e completa.
Foi utilizando no desenvolvimento os conceitos de Orientação a Objetos em Python, testes e padrões de projetos.
- Leitura e escrita de arquivos (XML, CSV, JSON)
- Formatação dos dados para gerar relatórios
- Python - Linguagem de programação focada em desenvolvimento rápido e integração de sistemas eficazmente
- Pytest - Framework que facilita a escrita de testes pequenos e legíveis
$PROJECT_ROOT | # Código Python ├── inventory_report │ | # Arquivos com dados de estoque | ├── data │ │ ├── inventory.csv │ │ ├── inventory.json │ │ └── inventory.xml │ | # Classes responsáveis por ler arquivos | ├── importer │ │ ├── csv_importer.py │ │ ├── importer.py │ │ ├── json_importer.py │ │ └── xml_importer.py │ | # Classes que leem os arquivos e retornam relatórios | ├── inventory │ │ ├── inventory_iterator.py │ │ ├── inventory_refactor.py │ │ └── inventory.py │ │ └── product.py | | # Classes que geram relatórios │ ├── reports │ │ ├── colored_report.py │ │ ├── complete_report.py │ │ └── simple_report.py │ └── main.py | # Testes └── tests Pré-requisitos: Python3
Criando e ativando o ambiente virtual:
python3 -m venv .venv && source .venv/bin/activateInstalando as dependências e o projeto no ambiente virtual
python3 -m pip install -r dev-requirements.txt && pip install .Para gerar o relatório de arquivo, use o seguinte comando:
python3 inventory_report/main.py local_do_arquivo completo Exemplo:
python3 inventory_report/main.py inventory_report/data/inventory.csv completo