Skip to content

feat: implement user profile completeness scoring#688

Merged
RUKAYAT-CODER merged 3 commits into
rinafcode:mainfrom
walexjnr:feat/profile-completeness-scoring
May 29, 2026
Merged

feat: implement user profile completeness scoring#688
RUKAYAT-CODER merged 3 commits into
rinafcode:mainfrom
walexjnr:feat/profile-completeness-scoring

Conversation

@walexjnr
Copy link
Copy Markdown
Contributor

Summary

Implements a profile completeness scoring system that gamifies profile completion to encourage users to fill out their profile information.

Changes

  • src/profile-completeness/profile-completeness.service.ts - Scoring algorithm: evaluates 8 weighted profile fields (firstName, lastName, username, profilePicture, isEmailVerified, role, lastLoginAt, tenantId), returns score, percentage, completed/missing fields, level badge, and next incentive message
  • src/profile-completeness/profile-completeness.controller.ts - GET /users/:userId/profile-completeness endpoint (JWT-protected)
  • src/profile-completeness/profile-completeness.module.ts - Module wiring

Scoring Algorithm

Field Points
First name 10
Last name 10
Username 10
Profile picture 20
Email verified 20
Role set 10
Logged in at least once 10
Organisation linked 10
Total 100

Levels & Incentives

  • starter (0-39%) ? "Reach 40% to unlock Intermediate badge"
  • intermediate (40-79%) ? "Reach 80% to unlock Complete Profile badge"
  • complete (80-100%) ? no further incentive

Acceptance Criteria

  • Scoring algorithm defined (weighted field scoring, 100-point max)
  • Progress tracking visible (GET /users/:userId/profile-completeness)
  • Incentives for completion (level badges + next incentive message)

closes #551

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented May 29, 2026

@walexjnr Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER RUKAYAT-CODER merged commit 642d1bb into rinafcode:main May 29, 2026
13 of 21 checks passed
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.

Implement user profile completeness scoring

2 participants