Open
Description
Description:
We need to develop a robust email reminder service from scratch. This service will handle scheduling, sending, and retrying email reminders for mentees. The service should also manage state transitions for mentees after a specified period and handle foreign key constraints properly.
Tasks:
- Design Database Schema
- Ensure proper relationships and foreign key constraints are established.
Implement Email Reminder Service - Create a service class to handle scheduling, sending, and retrying email reminders.
- Implement methods for scheduling reminders, processing reminders, and handling retries with exponential backoff.
- Track Number of Reminders Sent
- Add CronJob for Monthly Scheduling and set up a cron job to run at the end of each month.
- Ensure reminders are scheduled for a continuous period of 6 months.
Acceptance Criteria:
- The email reminder service is fully implemented and operational.
- The number of reminders sent is tracked and updated correctly.
- Cron job runs at the end of each month and schedules reminders for 6 months.
Additional Information:
- Ensure that all changes are covered by unit tests.
- Update documentation to reflect new features and changes.
- Monitor logs to verify that retries and state transitions are working as expected.
Later:
- Implement a user interface to view and manage reminder attempts.
- Add notifications for administrators when maximum retries are reached.
- Optimize database queries for better performance.
Related Dependencies or References:
- TypeORM documentation
- Node-cron documentation for scheduling
- Exponential backoff algorithm
Metadata
Metadata
Assignees
Type
Projects
Status
Groomed