Skip to content

Pedro-Manoel/notifications-service

Repository files navigation

📨 Microserviço de Notificações

GitHub top language GitHub language count Repository size GitHub license
Run in Insomnia

🔖 Sobre

Microserviço de notificações desenvolvido com Nestjs no Ignite Lab de 2023. Com aplicação de melhoras através da utilização do SOLID, Clean Architecture e TDD

💥 Utilização

  • 👉 Pré-requisitos

    • É necessário possuir o Node.js instalado no computador
    • É necessário possuir um gerenciador de pacotes, como o Yarn, instalado no computador
    • É necessário possuir o Docker instalado no computador
  1. Faça o clone do repositório:

      $ git clone https://github.com/Pedro-Manoel/notification-service.git
  2. Entre na pasta do projeto:

      $ cd notification-service
  3. Configure a aplicação utilizando o arquivo .env.development na fase de desenvolvimento, .env.test na fase de testes ou crie o .env.production na fase de produção. Para o .env.production utilize o arquivo .env.example como base.

  4. Execute o seguinte comando para fazer o download das dependências da aplicação:

    $ yarn install
  5. Execute o seguinte comando para criar e executar o container no docker:

    $ yarn db:up
  6. Execute o seguinte comando para criar as tabelas no banco de dados

    $ yarn db:migrate
  7. Execute o seguinte comando para executar a aplicação no modo de desenvolvimento:

    $ yarn start:dev
  8. Execute os comandos abaixo para executar os testes da aplicação: Todos os testes:

    $ yarn test

    Testes de unidade:

    $ yarn test:uni

    Testes E2E:

    $ yarn test:e2e

🚀 Tecnologias

  • Desenvolvimento com a framework Nestjs
  • Acesso e controle do banco de dados com a ORM prisma
  • Testes de unidade com jest
  • Testes E2E com supertest
  • Verificação de lint com eslint
  • Correção de código com prettier
  • Documentação com swagger
  • Utilização de hooks do git com husky
  • Integração assíncrona com Apache kafka

📦 Arquitetura

🏷️ Modelo Simplificado

image

🪧 Demostração do SEND NOTIFICATION

image

✅ Testes

image

📑 Swagger

image

🔰 Rota: http://localhost:3333/api-docs

📃 Licença

Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

About

📨 Microserviço de notificações desenvolvido com Nestjs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published