Repository navigation
feat(resume-studio): display resume completion progress bar - #74
Open
PrathamReddy888 wants to merge 2 commits into
Open
PrathamReddy888 wants to merge 2 commits into
PrathamReddy888 wants to merge 2 commits into
Conversation
Added ResumeProgress component to display resume completion progress.
|
@PrathamReddy888 is attempting to deploy a commit to the Pari's projects Team on Vercel. A member of the Team first needs to authorize it. |
Author
|
@pari-28 Please review, add appropriate ecsoc labels and merge |
Author
|
@pari-28 any changes required? worked very hard on this. |
Author
|
@pari-28 ? |
1 similar comment
Author
|
@pari-28 ? |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
📌 Related Issue
Fixes #34
Closes #34
📝 Description
Adds a Resume Completion Progress panel to the Interactive ATS Resume
Studio. As the user fills in or removes resume sections, the panel shows:
sections (0% → 100%).
completed/totalcount.user exactly what to fill in next.
The progress bar uses a dynamic color scheme (rose → amber → indigo →
emerald) as completion rises, giving instant visual feedback.
The component is fully responsive (single column on mobile, two columns
for the missing-sections list on
sm:and up) and reuses the existingdark-slate / indigo design tokens so it visually matches the rest of
the studio.
Implementation notes
src/components/ResumeProgress.tsxexports a default Reactcomponent plus two pure helpers (
getResumeSectionStatuses,getResumeCompletionPercent) that can be unit-tested in isolation.ResumeStudio.tsxis unchanged except for animportand a single<ResumeProgress resume={resume} />mount point in the left column.ResumeDatatype from
src/types.ts.LinkedIn, education, experience, projects, and skills (≥ 3).
non-empty (after
trim()). Empty list entries added via the"Add Experience" / "Add Project" buttons do not count as completed
until their primary field is filled in, preventing false 100%.
🚀 Type of Change
🧪 Testing
npm testreports "0 unit tests found.Smoke test passed." — this is the project's current test gate per
package.json.)unit-test runner wired up (no Jest/Vitest installed). Pure helpers
getResumeSectionStatusesandgetResumeCompletionPercentareexported so they can be tested as soon as a runner is added.
Manual verification
npm installnpm run lint→ Type Check passes (tsc --noEmitexits 0).npm run build→ Build passes (Vite production build succeeds).npm run dev→ open the Resume Studio tab.and a green "fully filled out" message.
Emailfield drops the bar to 90% and surfaces"Email — Add a contact email so recruiters can reach you." in the
Missing Sections list. Color shifts from emerald to indigo.
Skillsdrops to 80%. Color stays indigo.Phone,Website,GitHub,LinkedIn, all ofEducation,Experience,Projects,Skills, and theFull Namedrops to 0%. Bar is rose. The Missing Sections listshows all 10 sections.
collapses to one column; on ≥ 640px it expands to two columns.
📸 Screenshots / Demo
N/A — the panel renders inside the existing Resume Studio left column
above the ATS Score & Checklist. Color and spacing match the studio's
existing dark-slate / indigo tokens.
✅ Checklist
config exists in the repo; the only lint gate is
tsc --noEmitwhich passes. Code follows the existing arrow-function component
style and Tailwind class conventions used throughout the codebase.)
ResumeStudio.tsx; everything else is in a new file.)self-documenting via JSDoc on the exported helpers and the
component itself.)
(
tsc --noEmitclean, Vite build clean.)Fixes #34)💬 Additional Notes
compliance rules in
ResumeStudio.tsx, so the two panels can neverdrift apart semantically. If the ATS rules are updated in the
future, the completion rules should be updated in parallel — they
live in
getResumeSectionStatuses()inResumeProgress.tsx.resumeas a prop and derives everything via pure helpers, so it can be
unit-tested without a React testing environment once a runner is
added to the project.
lucide-react(already inpackage.json) is used for the three icons (Target,CheckCircle2,Circle).role="progressbar"witharia-valuenow/aria-valuemin/aria-valuemax, and the panelitself is wrapped in a
role="region"with a descriptivearia-label.