- π update Optimize re-engagement webhook logic to support multiple toggle formats in Monday.com (checked, v, true) and improve status tracking for both regular and company students to ensure reliable delivery of inactivity messages. β¨ feat Add automated notifications for "Monday Substitutions" and "Monday Reschedulings". New triggers and templates allow the team to notify students about class changesβincluding new times, teachers, and meeting linksβdirectly from Monday.com status updates.
- β¨ feat Launch "Inactive Student" re-engagement system. Automatically sends a personalized "Regresso" WhatsApp message to students who haven't had classes in a while, encouraging them to return and schedule their next sessions.
- π update Restrict WhatsApp assessment notifications to manual resends. This fix prevents duplicate messages from being sent during board migrations or when items are moved to the "Assessment in Class" board, ensuring students only receive their results when intended.
- β¨ feat Implement automated WhatsApp notifications for assessment results. Students now receive a "Resultados de Assessment" message via Respond.io as soon as their assessment is marked as completed in Monday.com, providing immediate feedback on their performance.
- π update Implement batched Monday API requests and improve orphaned assessment handling in moveUnscheduledAssessmentsToInClass migration for better performance and reliability.
- β¨ feat Replace cleanup cron with move-to-in-class migration for unscheduled assessments. Students who never schedule their assessment after 20+ days in Follow-up are now moved to the "Assessment in Class" board (instead of being deleted), allowing teachers to conduct the assessment directly during class sessions.
- β¨ feat Add new assessment status IN_CLASS and configure three new Monday board groups for the "Assessment in Class" board: - assessments.in-class: Pending Regular students - assessments.company.in-class: Pending Company students - assessments.in-class.completed: Completed in-class assessments that trigger the full completion flow.
- π update Update welcome message templates and Respond service to include Teacher Coach name extracted from Monday.com boards.
- β¨ feat Add image headers to assessment notification WhatsApp templates for improved student engagement and visual clarity.
- π fix Respond.io API error by removing captions from assessment image headers and making the caption parameter optional in the integration interface.
- π update classSubstitution with Emergency template (sub_mismodia) and add support for teacherRegular column.
- π update classSubstitution with Emergency template (sub_mismodia) and add support for teacherRegular column.
- β¨ feat exclusion for TestPrep (group_mm1d2afr) and Czech Students (group_mktdc5jh) in assessment resets and notifications.
- β¨ feat Implement InitializeAssessmentDatesCron to automatically reset student assessment
- π fix nextAssessmentDate UTC mismatch causing a one-day offset during resets.
- π update Update ThirdClass template and Class 2 badge.
- β¨ feat Add TestPrep class support.
- β¨ feat Implement logic to ignore second reminders for assessments older than 20 days.
- β¨ feat Implement manual assessment reminder trigger via Monday.com webhook.
- β¨ feat Add manual reminder service to processing flow.
- π fix Correctly handle assessment ID in status update logic.
- π update Refine Monday webhook processing with duplicate detection.
- β¨ feat Refine special program detection logic for Club 26 and Let's Talk.
- π fix Fix newline characters in program change message templates.
- π update Standardize program definitions into distinct categories (Adult, Mini, Kids, Teens).
- β¨ feat Integration of Club 26 specific message templates.
- β¨ feat Add Company Assessment Calendly links to notification templates.
- π update Refactor notification modules for better maintainability.
- β¨ feat Implement dedicated schedule change notification service.
- π fix Resolve duplication in assessment scheduling triggers.
- π update Improve error handling in Respond.io API calls.
- β¨ feat Differentiate between Company and Regular assessment boards in production.
- β¨ feat Add resilience to assessment completion service for missing board IDs.
- π update Improve logging for Monday.com status updates.
- β¨ feat Implement welcome message system for regular students.
- β¨ feat Integrate Respond.io API for automated WhatsApp onboarding.
- π update Separate email and Respond.io services for cleaner architecture.
- β¨ feat Expand badge system support up to 24 months.
- β¨ feat Add monthly progress reward notification for month 13.
- π fix Handle edge cases for non-existent badge months.
- β¨ feat Add class frequency templates for 1, 2, 3, and 4 classes per week.
- β¨ feat Automated scheduling logic for first-class notifications.
- π update Improve message template parameter mapping.
- β¨ feat Implement WhatsApp template messages for class substitutions.
- β¨ feat Adjust class date/time parsing for Costa Rica timezone (UTC-6).
- π fix Remove sensitive debug logs and standardize import aliases.
- β¨ feat Integrate string-similarity for improved program matching in welcome emails.
- π fix Normalize phone number formats for international notifications.
- π update Refactor core notification logic for better reliability.
- β¨ feat Implement certificate expiration and denial logic.
- β¨ feat Add interactive buttons to student certificate views.
- π update Sanitize email text for better deliverability and safety.
- β¨ feat Base project structure with NestJS and TypeScript.
- β¨ feat Initial Monday.com adapter and webhook integration.
- β¨ feat Core assessment and notification modules.
- β¨ feat PostgreSQL database integration and TypeORM entities.
- π update Initial project configuration (ESLint, Prettier, Husky).