Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Mailer | 760 | 7 | 8 days ago | 27 | June 20, 2022 | 84 | mit | TypeScript | ||
📨 A mailer module for Nest framework (node.js) | ||||||||||
Nestjs Email Authentication | 375 | 8 months ago | 10 | mit | TypeScript | |||||
Nestjs Starter using Mongodb and Passportjs | ||||||||||
Nestjs Mailer | 63 | 2 years ago | 2 | mit | Handlebars | |||||
🌈 A simple implementation example with and without email-templates using mailer module for nest js built on top of nodemailer. | ||||||||||
Nestjs Boilerplate | 34 | 5 months ago | 12 | mit | TypeScript | |||||
🐈 GraphQL NestJS starter | ||||||||||
Nest Sendgrid | 28 | 1 | 3 | 3 days ago | 207 | June 04, 2023 | 4 | mit | TypeScript | |
Nest Mail Service | 27 | 2 years ago | 3 | TypeScript | ||||||
An example of email sending service using NestJS | ||||||||||
Nestjs Mailgun | 25 | a month ago | 14 | mit | TypeScript | |||||
This is a simple wrapper of mailgun-js. It only comtemplates the send email and verify email functionalities, but later more it will be added. Just ping me or open pull request and contribute :) | ||||||||||
Homingbot | 7 | 6 years ago | mit | Python | ||||||
Fake SMTP Server & Low-Maintenance Email Generator | ||||||||||
Zeebe Nestjs Transactional Email Service | 6 | 4 years ago | 1 | TypeScript | ||||||
A NestJS-based node microservice to send transactional email with Zeebe | ||||||||||
Music Songs Genre Dataset | 5 | 3 years ago | 1 | |||||||
Classification & Implementation of Machine Learning ALgorithms on Music Dataset |
NestJS/Typescript, MongoDB, Redis, Queue
How system works:
main
queue.main
queue, api still response HTTP 201Email Sender Worker
will:
main
queue. I use rsmq
to implement main
queue, but it can easily replaced with SQS.DeadLetter
queue for analysis and mark the email document as Failed
Worker
will:
main
queueEmail Sender Worker
instances.App Module
and Worker Module
are all loaded in app.ts
but we can easily separate it into worker and service to run separatelyWorker
, acquire mutex lock before executed to prevent other Worker
instance to run while it runningWe use semantic-release
to generate release notes. This make use of conventional commit structure for both the notes and release numbers.
mails
config section in default.json
config to use your own keysnpm install
docker-compose up -d # to start the app by docker, including mongodb container. This will build and use `production` config
npm run start:local # to start app in your local machine, that will connect to docker mongodb container
npm run start:local:watch # to start app and watch for any changes
npm run test # to run unit test
npm run test:e2e # to run integration test
npm run test:watch # to test app and keep watching files change
npm run cover # to get code coverage
mylocal.json
file as below. Remember to run docker-compose up -d
first to init mongo and redis container{
"mongodb": {
"host": "localhost:27020",
"user": "",
"password": "",
"database": "mails",
"replicaSet": ""
},
"redis": {
"host": "localhost",
"port": "6380",
"db": 2
}
}
docker-compose up -d
There is swagger integrated to help you easier navigate through all exposed restful api. Please follow:
npm run start
open http://localhost:9001/docs/
~/.bash_profile
and source it:export GH_TOKEN={your github token}
export NPM_TOKEN={your npm token} # should be optional
npm run release