Skip to content

Releases: callmenixsh/crossDSA

Random pick & UI/performance Improvements

Choose a tag to compare

@callmenixsh callmenixsh released this 27 Sep 09:30

Added Random Question Pick, Improved UI and fixed performance issues

  • Implemented draggable search results panel in content.js for better user experience.
  • Added topic normalization and concept extraction to improve problem matching accuracy.
  • Introduced a new random practice section in the popup for selecting a random problem from enabled platforms.
  • Improved storage handling for user preferences and problem indexing.

Add support for Code 360 platform

Choose a tag to compare

@callmenixsh callmenixsh released this 07 Sep 18:33
1513543
  • Updated manifest.json to include Code 360 URLs and data resources.
  • Modified popup.html to add a checkbox for Code 360 platform selection.
  • Enhanced popup.js to handle problem counts and data fetching for Code 360.
  • Implemented a new scraper for Code 360 to fetch problem data and save it in JSON format.
  • Updated scrape.py to include Code 360 in the list of scrapers and handle its specific logic.
  • Improved styles.css to enhance the UI for platform tabs, including scroll buttons and styling adjustments.
  • Other small UI and performance Issues fixed

v1.0.0

Choose a tag to compare

@callmenixsh callmenixsh released this 07 Sep 06:29

crossDSA is a Manifest V3 Chrome extension that surfaces the same or
similar DSA problem from other platforms while you solve on any one of
five sites: LeetCode, GeeksforGeeks, Codeforces, CodeChef, and
TakeUForward (search-only on TUF for now).

Matching

  • Content-script engine tokenizes problem titles and statements,
    strips stopwords, stems (Porter), and applies IDF weighting plus
    bigram overlap so matches are content-aware rather than keyword-only.
  • Combines title and description similarity into a single confidence
    score, flags exact vs similar, dedupes near-identical titles, and
    respects an adjustable threshold with Lenient/Moderate/Strict presets.
  • Results panel groups matches by platform with tabs, difficulty,
    topic tags, and match%; built-in YouTube solution search that builds
    platform-specific queries (contest+index code for Codeforces,
    problem codes for CodeChef, etc.).
  • Works around SPA navigation and mutating DOMs via re-injection and a
    floating fallback button.

Extension

  • Popup toggles the button, picks search platforms, and exposes
    problem counts per platform and last-results stats.
  • Settings persist via chrome.storage (background service worker routes
    storage between popup and content script).

Data & scrapers

  • Four Python scrapers (LeetCode GraphQL, GfG practice API,
    Codeforces problemset API, CodeChef list/detail API) write to
    data/ as separate JSON datasets (~10k+ problems indexed).
  • Scrapers are resumable: skip IDs already present and checkpoint
    every 50 problems; scrape.py runs one, several, or all interactively
    (CodeChef supports --limit/--pages for quick tests).