[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
Related PRs
## Test environment
- OS: Linux Mint 21.3
- Browser Firefox
- Version 128.0
- Nodejs 20.15.0
## Learning
During the development of this feature, I explored several resources to understand how to effectively use the pdf-lib library for PDF manipulation and how to attach files to emails programmatically. This included reviewing documentation, blog posts, and tutorials related to pdf-lib and email handling in Node.js applications.
Purpose
The purpose of this PR is to fix #122
Goals
Enable admins to change the application status to 'COMPLETE'.
Notify mentees via email upon status change.
Generate a completion certificate for each mentee and attach it to the notification email.
Approach
To achieve the above goals, the following steps were taken:
Integrated the pdf-lib library (version 1.17.1) to modify and generate completion certificates in PDF format.
Updated utils.ts to support sending emails with PDF attachments.
Created a separate function dedicated to handling the PDF generation and email notification logic
Created a new folder to store certificates
Screenshots
Checklist
Related PRs
## Test environment - OS: Linux Mint 21.3 - Browser Firefox - Version 128.0 - Nodejs 20.15.0 ## LearningDuring the development of this feature, I explored several resources to understand how to effectively use the pdf-lib library for PDF manipulation and how to attach files to emails programmatically. This included reviewing documentation, blog posts, and tutorials related to pdf-lib and email handling in Node.js applications.