Skip to content

Refactor ATS controller and improve application reliability - #109

Closed
kcempol wants to merge 1 commit into
candiedoperation:masterfrom
kcempol:feat/ats-ai-prescreen
Closed

kcempol wants to merge 1 commit into
candiedoperation:masterfrom
kcempol:feat/ats-ai-prescreen

Conversation

@kcempol

@kcempol kcempol commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Description

  • Split ATSController into applicant, application-review, and recruitment services, with shared validation and formatting in ATSHelpers.
  • Validate role ownership and save the profile, application, and applicant link in one MongoDB transaction.
  • Persist stage follow-up work, serialize concurrent actions, resume failures with saved input, reconcile partial membership updates, and reuse onboarding invites.
  • Preserve recruitment records during incomplete directory responses.
  • Enable transactions in the local MongoDB stack and add code comments, a workflow explanation, and a testing guide.

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Chore / dependency update

Testing

  • ./nx run pplserver:test: 247 passed, 0 failed, including 105 pre-refactor behavior comparisons and 14 MongoDB reliability tests.
  • Generated HTTP routes are byte-identical to the original. API schemas are unchanged apart from corrected description text.
  • git diff --check and changed shell-script syntax checks pass.
  • Local stack passed all 17 service checks. Frontend/backend startup, HTTP responses, API proxy, and the original login-provider redirect were verified.
  • Reviewed all 16 changed/new files for configured secrets; local environment files are ignored and excluded.

Review notes

  • Submission requires a MongoDB replica set or sharded cluster. Existing local server settings need the documented MongoDB URL update.
  • Stage retries are request-driven: repeat the same stage request. There is no automatic retry worker or dedicated UI retry button. SMTP delivery can still duplicate an email if a process stops between delivery and its completion checkpoint.
  • Original S3 resumes are inaccessible to the team. Live resume upload/download and the complete browser submission flow remain unverified; tests use controlled storage responses. Local resume storage is not added here.
  • Manual star ratings remain; AI resume scoring is not implemented in this PR.

Checklist

  • Self-reviewed my own code
  • No new console.log / debug statements left in
  • Tested locally

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