Skip to content

feat: expand feedback model with structured fields#67

Merged
theanmolsharma merged 8 commits intomainfrom
feat/feedback-form
Mar 22, 2026
Merged

feat: expand feedback model with structured fields#67
theanmolsharma merged 8 commits intomainfrom
feat/feedback-form

Conversation

@theanmolsharma
Copy link
Copy Markdown
Collaborator

Summary

  • Replace single feedbackText field with structured feedback fields: componentRatings, expectations, improvements, opportunityInterests, fellowshipInterests, idealProject, testimonial
  • Add new enums (ComponentRating, CohortComponent, OpportunityInterest, FellowshipInterest) for type-safe validation
  • Move entity-to-DTO mapping from FeedbackService.toResponseDto to a static GetFeedbackResponseDto.fromEntity factory method

🤖 Generated with Claude Code

…o DTO

Replace single feedbackText field with structured feedback fields
(componentRatings, expectations, improvements, opportunityInterests,
fellowshipInterests, idealProject, testimonial). Move entity-to-DTO
mapping from FeedbackService.toResponseDto to a static
GetFeedbackResponseDto.fromEntity factory method.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
theanmolsharma and others added 7 commits March 17, 2026 12:49
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…service

Add attachment support to the mail system and wire up the two new
email templates (cohort-graduation-reminder, cohort-certificate) with
their context interfaces and sending methods.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Include graduation weeks in reminder task scheduling and send
graduation-specific reminder emails. Backfill graduation reminder tasks
for existing active cohorts via migration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ate email task

Use DbTransactionService in generateCertificatesForCohort to make the
delete + save + task creation atomic. Add SEND_CERTIFICATE_EMAILS task
type and handler to process certificate email delivery via the task
processor.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Schedule weekly feedback reminder emails for cohort users who attended
but haven't submitted feedback. The handler uses try/catch with
isLastRetry to ensure the reminder chain continues even on failure,
following the pattern from github-classroom.service.ts. Includes a
backfill migration for active cohorts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sends rich Discord embeds (errorId, traceId, stack trace, endpoint) on
5xx errors. Rate-limited to 10 alerts/min, fire-and-forget so it never
blocks error responses. Configurable via monitoring.discordErrorWebhookUrl.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@theanmolsharma theanmolsharma marked this pull request as ready for review March 22, 2026 06:13
@theanmolsharma theanmolsharma merged commit a5e8cd6 into main Mar 22, 2026
4 checks passed
@theanmolsharma theanmolsharma deleted the feat/feedback-form branch March 22, 2026 06:21
@theanmolsharma theanmolsharma mentioned this pull request Mar 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant