This is a birthday email blast application made using TypeScript and Nest.
- This app has a cron job that performs email blast every hour.
- It will check the list of emails, its timezone, and the user's birth date.
- If it's a birthday, it will be added to email queue.
- Run through the queue and send a request to 3rd-party API (a mock API).
- If the API request fails, it will be added to a different queue.
- Repeat the API request until the queue is empty (there's a limit to prevent endless loop).
Other features:
- A failsafe method for when there's a server crash, it runs through the queue immediately after rebooting.
- CRUD functionalities. You can edit recipient's information and it will still send the birthday email accordingly.
$ pnpm install
# development
$ pnpm run start
# watch mode
$ pnpm run start:dev
# production mode
$ pnpm run start:prod
# unit tests
$ pnpm run test
# e2e tests
$ pnpm run test:e2e
# test coverage
$ pnpm run test:cov
Nest is MIT licensed.