Skip to content

Issue 735 matching round analytics published#1

Open
Killerjunior wants to merge 13 commits into
mainfrom
issue-735-matching-round-analytics-published
Open

Issue 735 matching round analytics published#1
Killerjunior wants to merge 13 commits into
mainfrom
issue-735-matching-round-analytics-published

Conversation

@Killerjunior
Copy link
Copy Markdown
Owner

Description

Implements matching round analytics for admins and public transparency as requested in issue Pulsefy#735.

Changes

  • Participation Metrics: Added RoundParticipationMetricsDto to track:

    • Total unique contributors
    • Total contribution amount
    • Total contribution records
    • Projects with contributions
    • Average contribution per contributor and per project
  • Allocation Breakdown: Extended ProjectQfDto to ProjectAllocationDto with:

    • Contribution percentage
    • QF score percentage
    • Allocation percentage (of matching pool)
  • Exportable Dataset: New getRoundExport() method returns:

    • Full round summary with participation metrics
    • All contributions detailed (projectId, contributor, amount)
    • Sorted and formatted for QA/analytics
  • API Endpoint: Added GET /grants/rounds/:id/export for public/admin access

  • Mobile Types: Updated RoundSummary interface to include participationMetrics

Acceptance Criteria

✅ Per-round participation metrics
✅ Allocation breakdown per project
✅ Exportable dataset for QA

Tests

All 17 grants service tests passing, including new test for participation metrics and export functionality.

Abdulrasaq1515 and others added 13 commits May 26, 2026 18:41
… history

- Add SchedulerModule with JobLockService (pg_try_advisory_lock) and JobHistoryService
- Add JobRun entity and migration 1772000000000-CreateJobRuns
- Harden ReconciliationScheduler, SnapshotScheduler, ModelRetrainingScheduler,
  NewsService.fetchAndSaveArticles, NewsSentimentService.updateMissingSentiments,
  OutboxService.pollAndDispatch with acquire/release lock pattern
- All schedulers write RUNNING/COMPLETED/FAILED/SKIPPED rows to job_runs table
- Lock is session-scoped: auto-released on process crash, no stuck locks
…s, allocation breakdown, export); comment unused import
feat: scheduler hardening — idempotent jobs, pg advisory locking, run…
…ricing-source-integration

feat: integrate price fetching functionality with new PriceFetcher mo…
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.

4 participants