{"id":19272178,"url":"https://github.com/isaque-s-0liveira/inventory-report","last_synced_at":"2026-05-13T13:45:43.696Z","repository":{"id":256244148,"uuid":"728429469","full_name":"isaque-S-0liveira/Inventory-report","owner":"isaque-S-0liveira","description":"Este projeto trata-se de um sistema gerador de relatórios de estoque. A aplicação é capaz de ler esses arquivos, importar os dados de forma estruturada e gerar relatórios que resumem as informações contidas no estoque.","archived":false,"fork":false,"pushed_at":"2024-09-09T16:37:46.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-05T13:42:03.516Z","etag":null,"topics":["csv","interface","json-handling","poo","programacao-orientada-objetos","protocol","pytest","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/isaque-S-0liveira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-06T23:27:17.000Z","updated_at":"2024-09-09T16:40:10.000Z","dependencies_parsed_at":"2024-09-09T20:35:55.877Z","dependency_job_id":"bd61264e-1a4f-4cb3-b2b7-1fd1b7c84589","html_url":"https://github.com/isaque-S-0liveira/Inventory-report","commit_stats":null,"previous_names":["isaque-s-0liveira/inventory-report"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FInventory-report","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FInventory-report/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FInventory-report/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isaque-S-0liveira%2FInventory-report/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isaque-S-0liveira","download_url":"https://codeload.github.com/isaque-S-0liveira/Inventory-report/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240373983,"owners_count":19791320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","interface","json-handling","poo","programacao-orientada-objetos","protocol","pytest","python"],"created_at":"2024-11-09T20:35:43.968Z","updated_at":"2026-05-13T13:45:38.651Z","avatar_url":"https://github.com/isaque-S-0liveira.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inventory Report\n\n## Contexto\n\nO foco principal deste projeto é, com base nos ensinamentos da **Trybe**, desenvolver um gerador de relatórios de estoque. O objetivo é processar dados de estoque que podem ser fornecidos através de dois formatos de arquivo diferentes: **CSV** e **JSON**. A aplicação é capaz de ler esses arquivos, importar os dados de forma estruturada e gerar relatórios que resumem as informações contidas no estoque.\n\n\u003cdetails\u003e\n  \u003csummary\u003eO que é a Trybe?🤔\u003c/summary\u003e\n  A Trybe é uma escola de desenvolvimento web genuinamente comprometida com o sucesso profissional de seus estudantes. Com o Modelo de Sucesso Compartilhado (MSC) oferecido pela Trybe Fintech, uma instituição financeira autorizada pelo Banco Central do Brasil, os alunos têm a opção de pagar apenas quando estiverem trabalhando.\n\u003c/details\u003e\n\n\nO projeto é composto por várias etapas, como a criação de testes para garantir o correto funcionamento dos objetos e métodos, implementação de classes que herdam de interfaces para lidar com diferentes formatos de arquivo, e o desenvolvimento de um sistema de relatórios que pode produzir resumos simples ou completos dos itens em estoque.\n\n### Funcionalidades e Tarefas Principais:\n\n1. **Teste de Inicialização do Produto**:\n   - Implementação de testes para garantir que o objeto `Product` possui os atributos corretos quando é instanciado.\n   \n2. **Relatório Individual de Produtos**:\n   - Teste para validar se o método mágico `__str__` do objeto `Product` retorna as informações corretamente formatadas.\n\n3. **Criação de Interface para Importação**:\n   - Implementação de uma interface abstrata chamada `Importer`, que define o método `import_data`, responsável pela importação dos dados.\n\n4. **Leitura de Arquivos JSON**:\n   - Implementação da classe `JsonImporter`, que herda da interface `Importer` e implementa a lógica para leitura e processamento de arquivos no formato **JSON**.\n\n5. **Gestão de Estoque**:\n   - Criação da classe `Inventory`, que será responsável por armazenar os itens em estoque e permitir a adição de novos produtos.\n\n6. **Sistema de Relatórios**:\n   - Criação de um protocolo para gerar relatórios, que será utilizado como contrato para a criação de diferentes tipos de relatórios, como relatórios simples e completos.\n\n### Habilidades Desenvolvidas:\n- **Programação Orientada a Objetos (POO)**: Modelagem de produtos e estoque utilizando classes e objetos, aplicando conceitos de herança e abstração.\n- **Leitura e Manipulação de Arquivos**: Leitura de arquivos nos formatos **CSV** e **JSON** para importar dados de estoque.\n- **Testes Automatizados**: Criação de testes unitários para validar o comportamento correto das classes e métodos.\n- **Gerador de Relatórios**: Implementação de um sistema flexível de relatórios para exibir informações detalhadas sobre o estoque.\n\n---\n\n## Tecnologias Usadas\n\n- [Python](https://www.python.org/) - Linguagem de programação utilizada para o desenvolvimento do projeto.\n- [Pytest](https://docs.pytest.org/en/7.0.x/) - Framework de testes utilizado para validar as funcionalidades e garantir a qualidade do código.\n- **CSV \u0026 JSON Handling** - Manipulação de arquivos nos formatos **CSV** e **JSON** para importação e processamento de dados.\n- **Programação Orientada a Objetos (POO)** - Paradigma de programação utilizado para estruturar o código e modelar as entidades como `Product`, `Inventory`, e `Importer`.\n- **Protocolos e Interfaces** - Implementação de interfaces e protocolos para garantir contratos de funcionalidade entre as diferentes classes do sistema.\n\n\n\n## Entre em contato:\n\u003ca href=\"mailto:zazac3179@gmail.com\" target=\"_blank\"\u003e\n  \u003cimg align=\"center\" src=\"https://img.shields.io/badge/Gmail-D14836?style=for-the-badge\u0026logo=gmail\u0026logoColor=white\" alt=\"E-mail\" height=\"40\" width=\"auto\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.linkedin.com/in/isaque-s-oliveira/\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/linked-in-alt.svg\" alt=\"isaque oliveira\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://wa.me/5574981510614\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/rahuldkjain/github-profile-readme-generator/master/src/images/icons/Social/whatsapp.svg\" alt=\"WhatsApp\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaque-s-0liveira%2Finventory-report","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisaque-s-0liveira%2Finventory-report","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisaque-s-0liveira%2Finventory-report/lists"}