Repository navigation
Releases: callmenixsh/crossDSA
Releases · callmenixsh/crossDSA
Release list
Random pick & UI/performance Improvements
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
- 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
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).