Skip to content

added timeline to resource page#6

Open
arpit2006 wants to merge 1 commit into
mainfrom
feat/playlist
Open

added timeline to resource page#6
arpit2006 wants to merge 1 commit into
mainfrom
feat/playlist

Conversation

@arpit2006

@arpit2006 arpit2006 commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Description

This PR introduces a new Personalized Study Planner & Course Completion Timeline feature request to improve the learning experience for users.

What's Added

  • Added a comprehensive GitHub issue describing the new Study Planner feature.

  • Proposed a personalized planning workflow where users can generate a study schedule based on their daily or weekly availability.

  • Included UI/UX suggestions for a planner modal with:

    • Daily study hour input
    • Start date selection
    • Estimated completion date
    • Day-wise study schedule
    • Progress tracking
  • Added technical implementation notes and acceptance criteria to help contributors implement the feature consistently.

  • Included optional enhancements such as reminders, calendar export, study streaks, and progress analytics.

Why This Change?

Currently, course cards only display the total course duration. This feature proposal aims to help learners:

  • Estimate when they can complete a course.
  • Build a consistent study routine.
  • Track their learning progress.
  • Improve course completion rates through personalized planning.

Related Issue

Closes #<issue_number>


Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Design/CSS styling changes
  • Documentation update (README, CONTRIBUTING, issue template, etc.)

How Has This Been Tested?

  1. Verified the Markdown renders correctly on GitHub.
  2. Reviewed formatting, headings, tables, checklists, and code blocks.
  3. Ensured the issue clearly defines the feature scope, implementation requirements, and acceptance criteria.

Checklist

  • My code follows the coding guidelines of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • My changes generate no new warnings or console errors.

Summary by CodeRabbit

  • New Features

    • Replaced the plain skills text field with an interactive tag-based selector in profile setup and profile editing.
    • Added categorized skill badges, clickable selection states, and support for adding custom skills.
    • Introduced a smoother add-skill experience with button and Enter-key support.
  • Bug Fixes

    • Kept skill selections synchronized with the saved profile value for reliable form submission.
    • Prevented duplicate custom skills and improved selection behavior when editing existing skills.

Signed-off-by: arpit2006 <arpitshirbhate25@gmail.com>
@vercel

vercel Bot commented Jun 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
campuss-compass Ready Ready Preview, Comment Jun 24, 2026 6:13am

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The "Current Skills" field in profile-setup.ejs and profile.ejs is replaced with an interactive tag-based multi-select UI. Both views now render predefined skill badges grouped by category, support custom skill entry with deduplication, and sync selections to a hidden comma-separated input. Shared CSS in style.css covers the new selector layout and badge states.

Changes

Interactive Skill Selector

Layer / File(s) Summary
Skill selector CSS styles
public/css/style.css
Adds container layout, category header formatting, badge hover/selected states with a Font Awesome checkmark via ::before, and custom-skill input focus styling.
Skill selector HTML markup in both views
views/profile-setup.ejs, views/profile.ejs
Replaces the plain text skills input with a hidden skills field, predefined category badge groups, and a custom-skill text entry with Add button in both views. profile.ejs additionally initializes badge selected states server-side from user.profile.skills and renders a computed Custom Skills group.
Client-side selection and custom skill JS
views/profile-setup.ejs, views/profile.ejs
DOMContentLoaded scripts in both views parse the hidden skills input to initialize state, toggle selected class and sync the hidden input on badge click, and handle custom skill creation with case-insensitive deduplication, dynamic container creation, and Enter-key support.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐇 Hop, hop, I picked my skills today,
No more typing them all in one grey field!
Clicking badges — what a joyful way,
Custom tags pop up, their powers revealed.
The hidden input quietly keeps the score,
A checkmark gleams for every chosen art.
Now my profile shines like never before! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions a resource page timeline, but the PR actually adds a study-planner feature request and documentation issue. Rename it to reflect the actual change, e.g. "Add study planner feature request and timeline documentation".
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The PR description includes the required sections, summarizes the change, testing, type of change, and checklist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/playlist

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@views/profile-setup.ejs`:
- Around line 99-160: The skill badges in the profile setup view are implemented
as clickable spans, and the existing toggle logic in the profile setup script
only handles pointer clicks, so keyboard users cannot activate them. Update the
skill toggle UI in profile-setup.ejs to use keyboard-accessible controls or add
proper button/ARIA semantics, and extend the handler in the skill toggle logic
(the block that manages .skill-tag-badge clicks) to support Enter/Space
activation and focus states while keeping the selected skill state in sync.
- Around line 234-255: The custom-skill add flow in the profile setup script
only checks selectedSkills, so it can still create a duplicate of an existing
predefined skill like Python when that tag is not already selected. Update the
validation in the custom skill handler around selectedSkills, updateSkillsInput,
and the custom-skills-group badge creation to also compare against the full
predefined skills list currently used to render tags, and block adding the
custom badge/input when a case-insensitive match already exists anywhere in the
predefined options.

In `@views/profile.ejs`:
- Around line 283-304: The custom skill add flow in the profile view only checks
`selectedSkills`, so a name that already exists as a predefined skill can still
be inserted as a custom badge and get out of sync with toggle state. Update the
custom-skill handling logic to also compare against the predefined skill list
before creating the badge, and route matching names through the existing
predefined selection/toggle path instead of appending them to the custom group.
Keep the fix in the same client-side block that updates `selectedSkills`,
`updateSkillsInput()`, and the `custom-skills-group` badge creation.
- Around line 124-200: The skill chips in profile edit are clickable-only
because the interactive elements in the skill categories and custom skills are
rendered as spans and the profile script handling selection only reacts to mouse
clicks. Update the skill toggle UI in profile.ejs and the associated handler
around the skill-selection listener so the same controls can be reached and
activated from the keyboard, using proper focusable semantics and keyboard
events for the existing skill tag behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2b61e423-c496-44fa-8e76-419f55cd6cda

📥 Commits

Reviewing files that changed from the base of the PR and between 8a8da1e and 032371d.

📒 Files selected for processing (3)
  • public/css/style.css
  • views/profile-setup.ejs
  • views/profile.ejs

Comment thread views/profile-setup.ejs
Comment thread views/profile-setup.ejs
Comment thread views/profile.ejs
Comment thread views/profile.ejs
@arpit2006 arpit2006 self-assigned this Jun 24, 2026
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