Skip to content

Feature : add fuzzy team matching for pair programming#206

Merged
SindiBuklaji merged 6 commits intomainfrom
feat/fuzzy-team-matching
Mar 4, 2026
Merged

Feature : add fuzzy team matching for pair programming#206
SindiBuklaji merged 6 commits intomainfrom
feat/fuzzy-team-matching

Conversation

@SindiBuklaji
Copy link
Copy Markdown
Collaborator

@SindiBuklaji SindiBuklaji commented Mar 4, 2026

Checklist

General

  • I tested all changes and their related features with all corresponding user types.

Server

  • Important: I implemented the changes with a very good performance and prevented too many (unnecessary) and too complex database calls.
  • I strictly followed the principle of data economy for all database calls.
  • I strictly followed the server coding and design guidelines.
  • I documented the Java code using JavaDoc style.

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
  • I strictly followed the principle of data economy for all client-server REST calls.
  • I strictly followed the client coding and design guidelines.
  • I documented the React code.

Motivation and Context

Description

  • Implement Levenshtein distance-based fuzzy matching to handle team names that differ between Artemis and uploaded Excel files (e.g., "crop & code" vs "crop and code")

    • Conservative exact matching with & → and conversion for safe name normalization that works for
      all teams

    • Aggressive fuzzy matching as fallback that removes common prefixes (Team, Group), suffixes (+ Co.
      KG, Ltd., Inc.), and dots to match edge cases.

    • 80% similarity threshold for fuzzy matching to ensure high-quality matches while catching minor
      variations

    • Comprehensive debug logging to troubleshoot team name matching issues in production

    • Two-stage matching strategy: Try exact match first (safe, precise), then fuzzy match as fallback
      (flexible, catches edge cases)

Steps for Testing

  • Log in to Harmonia
  • Upload the attendance excel document
  • Check Pair programming is found and scored for team with different names in the excel document

Prerequisites:

  1. Log in to Harmonia

Review Progress

Code Review

  • Code Review 1

Manual Tests

  • Test 1

Test Coverage

Screenshots

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 4, 2026

🤖 No OpenAPI or client changes needed.

@SindiBuklaji SindiBuklaji force-pushed the feat/fuzzy-team-matching branch from d7a3f74 to e54965f Compare March 4, 2026 20:09
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 4, 2026

🤖 No OpenAPI or client changes needed.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 4, 2026

🤖 No OpenAPI or client changes needed.

@SindiBuklaji SindiBuklaji requested a review from az108 March 4, 2026 21:34
@SindiBuklaji SindiBuklaji changed the title Feat/fuzzy team matching Feature : add fuzzy team matching for pair programming Mar 4, 2026
@SindiBuklaji SindiBuklaji merged commit 0bc5b60 into main Mar 4, 2026
10 of 12 checks passed
@SindiBuklaji SindiBuklaji deleted the feat/fuzzy-team-matching branch March 4, 2026 21:40
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.

3 participants