Skip to content

feat: grant comparison (#153), deadline reminders (#151), grant reporting (#158) - #172

Open
ZacLou wants to merge 3 commits into
Core-Foundry:mainfrom
ZacLou:feat/comparison-reminders-reporting
Open

feat: grant comparison (#153), deadline reminders (#151), grant reporting (#158)#172
ZacLou wants to merge 3 commits into
Core-Foundry:mainfrom
ZacLou:feat/comparison-reminders-reporting

Conversation

@ZacLou

@ZacLou ZacLou commented Aug 28, 2026

Copy link
Copy Markdown

Summary

This PR implements three GrantFox Third Campaign issues:

Issue #153: Add Grant Comparison Functionality

  • Created grant-comparison.ts with in-memory comparison set per user
  • createComparison() — create/replace a comparison (min 2, max 5 grants)
  • addToComparison() / removeFromComparison() — incremental updates
  • clearComparison() — clear the entire set
  • Deduplicates task IDs automatically

Issue #151: Add Deadline Reminder Notifications

  • Created deadline-reminder.ts with configurable reminder timings
  • Default: 7 days, 3 days, 1 day before deadline
  • scheduleReminders() — creates reminder entries based on user settings
  • processDueReminders() — sends notifications when reminder time arrives
  • cancelRemindersForTask() — cleanup when unbookmarking
  • Skip expired tasks automatically
  • Integrates with existing notification-store.ts

Issue #158: Add Grant Reporting for Incorrect Information

  • Created grant-report-store.ts with 6 report reasons (outdated, incorrect, suspicious, incomplete, spam, other)
  • submitReport() — user submits a report with reason + description
  • listReports() — admin views all reports with status/task filters
  • markReviewing() / resolveReport() — admin workflow
  • getReportsForTask() — per-task report listing
  • 2000 char description limit

API Routes

  • GET/POST /api/comparison — get, create, add, remove, clear
  • GET/PATCH /api/reminders — get settings, update settings, view pending
  • GET/POST /api/reports — list with filters, submit new report

Tests

  • 5 tests for grant comparison (create, get, add, remove, clear)
  • 8 tests for grant reporting (submit, list, get, resolve, markReviewing)
  • 8 tests for deadline reminders (settings, schedule, process, cancel)

Closes #153
Closes #151
Closes #158

鲁班七号 added 3 commits August 29, 2026 00:58
Core-Foundry#157), moderation queue (Core-Foundry#159)

- Core-Foundry#154: Levenshtein-based title similarity + org/description overlap detection
  Flags potential duplicates for admin review without blocking creation
- Core-Foundry#157: Structured eligibility fields (location, applicant type, project stage,
  team size, custom requirements) with validation and display formatting
- Core-Foundry#159: Admin moderation queue with enqueue/list/approve/reject/dismiss
  Auto-enqueues new tasks and duplicate flags for review
- Integrated into createTask: duplicate detection + auto-moderation on creation
- Added API routes: GET /api/moderation, GET/POST /api/moderation/:itemId
- 30+ unit tests covering all three features
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.

Add Grant Reporting for Incorrect Information Add Grant Comparison Functionality Add Deadline Reminder Notifications

1 participant