Skip to content

Deterministic scoring feeds and ambassador ranking#1

Open
seif-bkh wants to merge 4 commits into
reyca-mainfrom
Farah-dvanced-clean
Open

Deterministic scoring feeds and ambassador ranking#1
seif-bkh wants to merge 4 commits into
reyca-mainfrom
Farah-dvanced-clean

Conversation

@seif-bkh
Copy link
Copy Markdown
Collaborator

Summary

  • add deterministic sort=popularity feed scoring for posts with configurable engagement weights and explicit decay formula
  • add deterministic event popularity predictor using inscription rate, organizer reliability window, and urgency boost
  • add ambassador influence ranking endpoint with transparent weighted scoring and configurable badge bonuses
  • expose computed scores in DTO responses and add scheduled scoring heartbeat for operational visibility
  • keep event JQL search compatibility and extend repositories/services without introducing new entities

Test plan

  • Run mvn -q -Dtest=PostServiceImplTest,EventServiceImplTest,AmbassadorServiceImplTest test
  • Verify post feed returns engagementScore and orders by score DESC, then createdAt, then id
  • Verify event feed returns popularityScore and handles zero capacity/missing organizer history safely
  • Verify ambassador ranking returns influence-ordered results with stable tie-breakers
  • Confirm scheduled scoring heartbeat is configurable via app.scoring.audit-interval-ms

Made with Cursor

Compute engagement with time decay using configurable weights, expose engagementScore in responses, and validate ordering behavior with JUnit coverage.

Made-with: Cursor
Rank events by inscription rate, organizer reliability window, and urgency boost, publish popularityScore, and cover edge scenarios with JUnit tests.

Made-with: Cursor
Calculate influence from events, posts, engagement, referrals, and badge bonus using configurable coefficients, and verify ranking behavior with JUnit tests.

Made-with: Cursor
Add a configurable scheduled scoring heartbeat, keep event feed docs aligned with JQL search availability, and preserve AOP observability compatibility.

Made-with: Cursor
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