{"id":19408770,"url":"https://github.com/4lessandrodev/microservice","last_synced_at":"2025-04-24T10:30:46.307Z","repository":{"id":105006913,"uuid":"532317047","full_name":"4lessandrodev/microservice","owner":"4lessandrodev","description":"template for microservice","archived":false,"fork":false,"pushed_at":"2024-04-11T12:02:02.000Z","size":2769,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-28T07:22:30.025Z","etag":null,"topics":["message-broker","microservice","nestjs","nodejs","rabbitmq","template"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/4lessandrodev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2022-09-03T16:39:31.000Z","updated_at":"2023-08-25T14:52:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1bab53c-fe6a-45cf-872e-79cd775091b7","html_url":"https://github.com/4lessandrodev/microservice","commit_stats":null,"previous_names":[],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fmicroservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fmicroservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fmicroservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fmicroservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4lessandrodev","download_url":"https://codeload.github.com/4lessandrodev/microservice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223948575,"owners_count":17230132,"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":["message-broker","microservice","nestjs","nodejs","rabbitmq","template"],"created_at":"2024-11-10T12:07:51.360Z","updated_at":"2024-11-10T12:07:51.985Z","avatar_url":"https://github.com/4lessandrodev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Template - Microservice\n\nEste template possui comandos automatizados para gerar componentes para a construção do backend.\nOs comandos podem ser executados com:\n\n- `yarn` \n- `npm`\n\n---\n\nEste microservice utiliza o conceito de Message Broker\n\n![](docs/microservice-doc.png)\n\n---\n## Como utilizar a cli\n\nAntes de tudo instale as dependências\n\n\n```sh\n\n$ yarn\n\n```\n\nUtilizando a cli com yarn\n\n\n```sh\n\n$ yarn types-ddd\n\n```\n![](docs/print.png)\n\nUtilizando a cli com npm\n\n```sh\n\n$ npm run types-ddd\n\n```\n\n---\n\n## Gerenciador de pacotes\n\nPara instalar e gerenciar novos pacotes (libs) utilize yarn.\n\nDependência de produção\n\n```sh\n\n$ yarn add \u003cpackage-name\u003e\n\n```\n\nDependência de desenvolvimento\n\n```sh\n\n$ yarn add \u003cpackage-name\u003e -D\n\n```\n\n---\n\n## Alias Path\n\nEste template já possui um alias global `@modules` e `@shared` configurado\n\n- `@modules/*` aponta para o caminho `src/modules/*`\n- `@shared/*` aponta para o caminho `src/shared/*`\n\nPara adicionar novos alias siga o modelo nos arquivos: \n- `tsconfig.json`  \n- `jest-e2e.json` \n- `jest.config.json` \n\nA inclusão deve ser feita em todos esses 3 arquivos.\n\n---\n\n## Scripts\n\nTestes. \n\nExecutar testes unitários.\n\nobs: Os teste unitários devem ter o padrão de nome `\u003cfile-name\u003e.spec.ts`\n\n\n```sh\n\n$ yarn test\n\n\n```\n\nExecutar testes de integração.\n\nobs: Os teste de integração devem ter o padrão de nome `\u003cfile-name\u003e.test.ts`\n\n```sh\n\n$ yarn test:e2e\n\n\n```\n\nExecutar a aplicação em watch mode\n\n```sh\n\n$ yarn start:dev\n\n```\n\nExecutar a aplicação\n\n```sh\n\n$ yarn start\n\n```\n\nPara verificar se a aplicação está ok.\nEsta aplicação é um microservice que se conecta ao broker message do rabbitmq.\nPara subir um broker utilize o docker-compose\n\n```sh\n\n$ docker-compose up -d\n\n```\n\nAcesse o broker\n\n```\n\nGET http://localhost:15672/\n\n```\n\nVerificar se a aplicação se conectou com o broker\n\nAcesse o painel\n\n![](docs/microservice.png)\n\n---\n\n## Variáveis\n\nAs variáveis de ambiente devem ser definidas no arquivo\n\n`src/shared/env.ts`\n\nApós definir as variáveis no env.ts você pode definí-las no arquivo .env\n\n---\n\n## Commits\n\nOs commits devem seguir a convenção do commit lint\n\n```sh\n\n\u003ctype\u003e[optional scope]: \u003cdescription\u003e\n\n[optional body]\n\n[optional footer(s)]\n\n```\n- `feat`: nova feature\n- `build`: mudanças que afetam o processo de build \n- `chore`: instalação de lib, ou configuração de ferramentas\n- `ci`: configuração de script ou processos do pipeline\n- `docs`: atualização de documentação\n- `style`: mudanças que afetam o estilo do código, formatação etc\n- `refactor`: alteração ou melhoria de código que não seja bug ou feature\n- `perf`: melhorias de código que melhoram a performance\n- `test`: adicionado testes ou correção de algum\n\nExemplo:\n\n```sh\n\n$ git commit -m \"test (payment): ensure payment confirmation\"\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fmicroservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4lessandrodev%2Fmicroservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fmicroservice/lists"}