{"id":21191525,"url":"https://github.com/jonathan-r-andrade/store-manager","last_synced_at":"2026-04-04T21:33:12.702Z","repository":{"id":180082171,"uuid":"664090167","full_name":"Jonathan-R-Andrade/store-manager","owner":"Jonathan-R-Andrade","description":"API RESTful para gerenciamento de vendas no formato dropshipping.","archived":false,"fork":false,"pushed_at":"2023-07-12T07:43:03.000Z","size":478,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T20:46:57.983Z","etag":null,"topics":["chai","express-js","javascript","mocha","mysql","node-js","oas3","openapi-specification","restful-api","sinon","sql","swagger-ui","unit-tests"],"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/Jonathan-R-Andrade.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-07-08T22:13:26.000Z","updated_at":"2023-08-06T02:05:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"03a4551d-588b-4346-8860-62db3084a5dc","html_url":"https://github.com/Jonathan-R-Andrade/store-manager","commit_stats":null,"previous_names":["jonathan-r-andrade/store-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Jonathan-R-Andrade/store-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonathan-R-Andrade%2Fstore-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonathan-R-Andrade%2Fstore-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonathan-R-Andrade%2Fstore-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonathan-R-Andrade%2Fstore-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jonathan-R-Andrade","download_url":"https://codeload.github.com/Jonathan-R-Andrade/store-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonathan-R-Andrade%2Fstore-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31415110,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T20:09:54.854Z","status":"ssl_error","status_checked_at":"2026-04-04T20:09:44.350Z","response_time":60,"last_error":"SSL_read: 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":["chai","express-js","javascript","mocha","mysql","node-js","oas3","openapi-specification","restful-api","sinon","sql","swagger-ui","unit-tests"],"created_at":"2024-11-20T19:03:26.139Z","updated_at":"2026-04-04T21:33:12.679Z","avatar_url":"https://github.com/Jonathan-R-Andrade.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Store Manager\n\nProjeto desenvolvido por [Jonathan R. Andrade](https://www.linkedin.com/in/jonathan-r-andrade/) na [Trybe](https://www.betrybe.com/).\n\n## Sobre\n\nAPI RESTful construída com Node.js, Express.js, MySQL e arquitetura MSC (Model, Service e Controller) de um sistema de gerenciamento de vendas no formato dropshipping, onde é possível criar, visualizar, deletar e atualizar produtos e vendas. A API é documentada com Swagger.\n\n## Habilidades desenvolvidas\n\n* Criar APIs RESTful com Express.js;\n* Utilizar arquitetura MSC (Model, Service e Controller) para organização do projeto;\n* Manipular o banco de dados MySQL com operações CRUD;\n* Testes unitários com Mocha, Chai e Sinon;\n* Utilizar Swagger para documentar a API.\n\n## Ferramentas/Tecnologias utilizadas\n\n* Ubuntu v22.04\n* MySQL v8\n* Docker v24\n* Docker Compose v2.18\n* Node.js v16.20\n* JavaScript\n* Express.js\n* Swagger\n\n## Como executar\n\nSiga os passos abaixo executando os comandos no terminal.\n\n1. Clone o repositório.\n\n    * Exemplo com Git + HTTPS\n      ```\n      git clone https://github.com/Jonathan-R-Andrade/store-manager.git\n      ```\n    * Exemplo com Git + SSH\n      ```\n      git clone git@github.com:Jonathan-R-Andrade/store-manager.git\n      ```\n    * Usando GitHub CLI\n      ```\n      gh repo clone Jonathan-R-Andrade/store-manager\n      ```\n\n2. Entre na pasta do repositório clonado.\n\n    ```\n    cd store-manager\n    ```\n\n3. Instale as dependências (__se estiver usando Docker, pule para o passo 4__).\n\n    ```\n    npm install\n    ```\n\n4. Crie um arquivo `.env` na raiz do projeto com as variáveis de ambiente necessárias para a aplicação.\n\n    ```\n    cp .env.example .env\n    ```\n    \u003e Caso esteja usando banco de dados local, altere as variáveis conforme o seu ambiente.\n\n5. Inicie a aplicação.\n\n   * Caso esteja usando Docker, execute os comandos abaixo.\n     ```\n     # Iniciar os containers \\\n     docker compose up -d \\\n     # Entrar no container da aplicação \\\n     docker exec -it store_manager bash\n     ```\n\n   * Comando para criar o banco de dados e as tabelas.\n     ```\n     npm run migration\n     ```\n\n   * Comando para popular o banco de dados com alguns dados.\n     ```\n     npm run seed\n     ```\n\n   * Comando para iniciar a aplicação.\n     ```\n     npm start\n     ```\n\n    * Comando para executar os testes unitários.\n      ```\n      npm test\n      ```\n      \u003e A variável de ambiente `MYSQL_DATABASE` deve estar definida como `StoreManager` para que os testes sejam executados corretamente.\n\n\u003e A documentação da API estará disponível no navegador no endereço [http://localhost:3000/docs/pt-br/](http://localhost:3000/docs/pt-br/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathan-r-andrade%2Fstore-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathan-r-andrade%2Fstore-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathan-r-andrade%2Fstore-manager/lists"}