Skip to content

[Feature] Add live character counter for skills input field#323

Open
Pranathi-Kunjeti wants to merge 2 commits into
komalharshita:mainfrom
Pranathi-Kunjeti:feat/skills-char-counter
Open

[Feature] Add live character counter for skills input field#323
Pranathi-Kunjeti wants to merge 2 commits into
komalharshita:mainfrom
Pranathi-Kunjeti:feat/skills-char-counter

Conversation

@Pranathi-Kunjeti
Copy link
Copy Markdown

Summary [required]

This PR adds a live character counter for the skills input field in the recommendation form. The counter updates dynamically as users add skills and helps them track the total input length more clearly. A maximum input limit of 500 characters was also added to improve form usability and prevent excessively long skill entries

Related Issue [required]

Closes #194

Type of Change [required]

  • Bug fix — resolves a broken behaviour
  • Feature — adds new functionality
  • Data — adds new projects to data/projects.json
  • Documentation — updates docs, README, or code comments only
  • Style — CSS or visual changes only, no logic change
  • Refactor — restructures code without changing behaviour
  • Test — adds or updates tests

What Was Changed [required]

File Change made
templates/index.html Added character counter UI below the skills input field and added maxlength="500"
static/script.js Added dynamic character count update logic for selected skills
static/style.css Added styling for the character counter

How to Test This PR [required]

  1. Clone this branch: git checkout feat/skills-char-counter
  2. Install dependencies: pip install -r requirements.txt
  3. Run the app: python app.py
  4. Open http://127.0.0.1:5000
  5. Run the tests: python tests/test_basic.py

Expected test output:

30 passed, 0 failed out of 30 tests

Test Results [required]

PASS  test_projects_json_loads
PASS  test_each_project_has_required_fields
PASS  test_find_project_by_id_found
PASS  test_find_project_by_id_missing
PASS  test_parse_skills_basic
PASS  test_parse_skills_empty_string
PASS  test_parse_skills_single_entry
PASS  test_score_single_project_full_match
PASS  test_score_single_project_no_match
PASS  test_get_recommendations_returns_results
PASS  test_get_recommendations_max_three
PASS  test_get_recommendations_no_match_returns_empty
PASS  test_get_recommendations_result_format
PASS  test_validate_all_valid
PASS  test_validate_missing_skills
PASS  test_validate_missing_level
PASS  test_validate_missing_interest
PASS  test_validate_missing_time
PASS  test_validate_all_missing
PASS  test_home_route
PASS  test_recommend_api_valid
PASS  test_recommend_api_missing_field
PASS  test_recommend_api_empty_body
PASS  test_project_detail_found
PASS  test_project_detail_not_found
PASS  test_internal_server_error_page
PASS  test_view_code_found
PASS  test_download_code_found
PASS  test_health_check
PASS  test_scoring_weights_has_all_keys

30 passed, 0 failed out of 30 tests

Screenshots (if UI change)

Before:
Screenshot 2026-05-19 161716

After:
image

Self-Review Checklist [required]

  • I have read CONTRIBUTING.md and followed all guidelines
  • My branch name follows the convention: feat/, fix/, docs/, data/, style/, test/
  • I have run python tests/test_basic.py and all 30 tests pass
  • I have not introduced any print() or console.log() debug statements
  • Every new function I wrote has a docstring
  • I have not modified files outside the scope of the linked issue
  • If I changed the UI, I tested it at 375px (mobile) and 1280px (desktop)

Notes for Reviewer

This PR focuses only on adding a live character counter for the skills input field and improving the user experience around skill entry.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

@Pranathi-Kunjeti is attempting to deploy a commit to the komalsony234-1530's projects Team on Vercel.

A member of the Team first needs to authorize it.

@komalharshita
Copy link
Copy Markdown
Owner

@Pranathi-Kunjeti kindly resolve the merge conflicts

@komalharshita komalharshita added need review Further information is requested gssoc-2026 labels May 19, 2026
@Pranathi-Kunjeti
Copy link
Copy Markdown
Author

Pranathi-Kunjeti commented May 19, 2026

@Pranathi-Kunjeti kindly resolve the merge conflicts

@komalharshita Resolved, kindly check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Add live character counter for skills input field

2 participants