Automated Email Notification System for Student Class Progress
📊 Student Dashboard
Private information including names, emails, and figures was changed for privacy in this example.
This project automates weekly email updates for students about their class progress. It reads student data from a Google Sheet, calculates remaining and completed classes, and sends personalized HTML emails using a custom React component.
- Google Sheets Integration: Fetches student data directly from a spreadsheet.
- Class Progress Calculation: Determines each student's remaining and completed classes.
- Personalized Emails: Generates custom HTML emails for each student using React.
- Email Delivery: Sends emails via Gmail SMTP.
-
Read Student Data:
The script usesreadGoogleSheet.jsto import student information. -
Process Class Info:
calculateRemainingClasses.jscomputes each student's progress. -
Render Email Content:
For each student, a personalized email is created using theMyEmailReact component and rendered to HTML. -
Send Emails:
Emails can be sent using Gmail viasendGmail.js.
-
Install dependencies:
npm install -
Set up environment variables in a
.envfile (see.env.examplefor required keys). -
Run the script:
npm start


