Desenvolvido durante o Ignite Lab NodeJS
git clone https://github.com/marcusviniciusfa/notifications-service.git
faça o download do repositório notifications-servicecd notifications-service
entre no diretório do projetonpm install
instale as dependências do projetomv sample.env .env
renomeie o arquivo .env de amostra e popule as variáveis com os dados do Kafka
npm run test
npm run start:dev
inicie a aplicação em modo de desenvolvimento- Clique no botão abaixo para importar a collection de requests para o Insomnia, ou salve e importe o arquivo notifications-service_requests-collection.har para o seu REST Client de preferência.
git clone https://github.com/marcusviniciusfa/kafka-producer-to-notifications-service.git
faça o download do repositório kafka-producer-to-notifications-service e siga o passo a passo no README para produzir mensagens com notificações que serão consumidas pelo serviço de notificaçõesnpx prisma studio
utilize o prisma studio para conseguir visualizar as notificações inseridas na tabela Notifications
- NestJS
- Prisma
- Jest
- Kafka
- Dependency Inversion Principle (D do SOLID. Utilizado nos use cases, e nos controllers)
- Dependency Injection (Ex.: Decorator @Injectable na estrutura do NestJS)
- Single Responsibility Principle (S do SOLID. Utilizado principalmente nos use cases)
- Domain Driven Design (DDD)
- Entities (Ex.: Entidade Notification)
- Value Objects (Ex.: Entidade Content, utilizada para validação e teste unitário do conteúdo da notificação)
- Repository Pattern
- In-Memory-Database
- Mappers
nest new project-name
cria a estrutura padrão de um projeto nestnpx prisma init --datasource-provider sqlite
inicializa o prisma apontando o provider de banco de dados sqlitenpx prisma migrate dev
cria migration em modo desenvolvimentonpx prisma studio
inicia o prisma studio para visualizar o banco de dados