{"id":15170497,"url":"https://github.com/jonataslaguna/store-manager","last_synced_at":"2026-02-16T00:01:48.134Z","repository":{"id":205340978,"uuid":"714004500","full_name":"jonataslaguna/store-manager","owner":"jonataslaguna","description":"API RESTful utilizando a arquitetura em camadas. Essa API é um sistema de gerenciamento de vendas em que é possível criar visualizar, deletar e atualizar produtos e vendas.","archived":false,"fork":false,"pushed_at":"2023-12-20T21:37:20.000Z","size":942,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T13:29:55.504Z","etag":null,"topics":["api-restful","docker","express","mocha","mysql"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jonataslaguna.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-11-03T17:47:08.000Z","updated_at":"2023-11-10T15:57:00.000Z","dependencies_parsed_at":"2023-12-21T00:13:01.981Z","dependency_job_id":"b91fbaa3-efed-4d50-811d-bca0636097b6","html_url":"https://github.com/jonataslaguna/store-manager","commit_stats":null,"previous_names":["jonataslaguna/store-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jonataslaguna/store-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonataslaguna%2Fstore-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonataslaguna%2Fstore-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonataslaguna%2Fstore-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonataslaguna%2Fstore-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonataslaguna","download_url":"https://codeload.github.com/jonataslaguna/store-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonataslaguna%2Fstore-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29494184,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T00:00:57.352Z","status":"ssl_error","status_checked_at":"2026-02-15T23:56:34.338Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api-restful","docker","express","mocha","mysql"],"created_at":"2024-09-27T08:03:24.436Z","updated_at":"2026-02-16T00:01:48.018Z","avatar_url":"https://github.com/jonataslaguna.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Store Manager\n\nAPI RESTful utilizando a arquitetura em camadas. Essa API é um sistema de gerenciamento de vendas em que é possível criar visualizar, deletar e atualizar produtos e vendas.\n\n## Instalação\n\n\u003e Aviso: Não é necessário entrar no container para rodar os testes e nem para iniciar a aplicação.\n\u003e\n\u003e - O container `backend` inicia a aplicação automaticamente.\n\u003e\n\u003e\n\u003e - É necessário ter a versão Node 16.14 ou superior instalada localmente.\n\n#\n\n🐳 Iniciando a aplicação no Docker Compose\n\n```bash\n# Instale as dependências\nnpm install\n\n# Inicie os containers do compose `backend` e `db`\n# A aplicação estará disponível em `http://localhost:3001` em modo de desenvolvimento\ndocker-compose up -d\n\n# É possível ver os logs da aplicação com `docker logs -n 10 -f \u003cnome-do-container\u003e`\ndocker logs -n 10 -f store_manager\n```\n#\n\n🖥️ Iniciando a aplicação localmente\n\n\u003e Atenção: Ao rodar localmente, a aplicação deverá receber variáveis de ambiente como exemplificado em [`env.example`](./env.example) para poder se comunicar com o serviço de banco de dados.\n\n```bash\n# Instale as dependências\nnpm install\n\n# Inicie apenas o serviço `db` no compose\ndocker-compose up -d db\n\n# Inicie a aplicação em modo de desenvolvimento\nnpm run dev:local\n```\n##\n\n## Principais Funcionalidades\n\n### Produtos\n\n- **Listar Produtos:**\n  - Endpoint: `GET /products`\n  - Retorna a lista de todos os produtos cadastrados.\n\n- **Encontrar Produto por ID:**\n  - Endpoint: `GET /products/:id`\n  - Retorna as informações detalhadas de um produto específico com base no ID fornecido.\n\n- **Cadastrar Novo Produto:**\n  - Endpoint: `POST /products`\n  - Permite a criação de um novo produto. O corpo da requisição deve conter os dados do produto a ser adicionado, conforme o exemplo abaixo:\n    ```json\n    {\n      \"name\": \"Playstation 5\"\n    }\n    ```\n\n- **Atualizar Produto:**\n  - Endpoint: `PUT /products/:id`\n  - Permite a atualização das informações de um produto específico com base no ID fornecido. O corpo da requisição deve conter os dados atualizados do produto.\n\n- **Deletar Produto:**\n  - Endpoint: `DELETE /products/:id`\n  - Remove um produto específico com base no ID fornecido.\n\n### Vendas\n\n- **Listar Vendas:**\n  - Endpoint: `GET /sales`\n  - Retorna a lista de todas as vendas registradas.\n\n- **Encontrar Venda por ID:**\n  - Endpoint: `GET /sales/:id`\n  - Retorna as informações detalhadas de uma venda específica com base no ID fornecido.\n\n- **Cadastrar Nova Venda:**\n  - Endpoint: `POST /sales`\n  - Permite a criação de uma nova venda. O corpo da requisição deve conter um array de objetos, cada um representando um item da venda, conforme o exemplo abaixo:\n    ```json\n    [\n      {\n        \"productId\": 1,\n        \"quantity\": 1\n      },\n      {\n        \"productId\": 2,\n        \"quantity\": 5\n      }\n    ]\n    ```\n\n- **Deletar Venda:**\n  - Endpoint: `DELETE /sales/:id`\n  - Remove uma venda específica com base no ID fornecido.\n\n\u003e \u003cstrong\u003eObservação:\u003c/strong\u003e Na raiz do projeto, você encontrará um arquivo Thunder Client (thunder-collection-store-manager.json) que pode ser importado no Thunder Client para facilitar as requisições.\n\n## Contribuição\n\nEste projeto está aberto para contribuições. Se você deseja contribuir, siga estas etapas:\n\n1. Faça um fork do projeto\n2. Crie uma nova branch (`git checkout -b feature/sua-feature`)\n3. Faça commit das alterações (`git commit -m 'Adicione sua feature'`)\n4. Faça push para a branch (`git push origin feature/sua-feature`)\n5. Abra um Pull Request\n\n## Contato\n\nSe você deseja entrar em contato comigo, sinta-se à vontade para enviar um e-mail para [jonataslaguna.js@gmail.com](mailto:jonataslaguna.js@gmail.com).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonataslaguna%2Fstore-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonataslaguna%2Fstore-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonataslaguna%2Fstore-manager/lists"}