proxor
Version:
A Node.js utility to fetch and analyze user profiles from multiple coding platforms including LeetCode, GeeksForGeeks, Codechef and Codeforces.
67 lines (49 loc) โข 1.99 kB
Markdown
# ๐จโ๐ป proxor
Extract user profile data from popular competitive programming platforms:
**GeeksforGeeks**, **CodeChef**, **Codeforces**, and **LeetCode** โ with simple function calls.
## ๐ฆ Installation
```bash
npm install proxor
```
## ๐ Features
- ๐ Get profile data from **GeeksforGeeks**
- ๐ Extract stats from **CodeChef**
- ๐ Scrape ratings from **Codeforces**
- ๐ง Fetch user data from **LeetCode**
## ๐ ๏ธ Usage
```javascript
const {
getCodeChefData,
getCodeforcesData,
getGFGData,
getLeetcodeData
} = require("proxor");
getGFGData("gfg_username").then(res => console.log("GeeksforGeeks:", res));
getCodeforcesData("codeforces_username").then(res => console.log("Codeforces:", res));
getCodeChefData("codechef_username").then(res => console.log("CodeChef:", res));
getLeetcodeData("leetcode_username").then(res => console.log("LeetCode:", res));
```
## ๐ API Reference
Each function accepts a **single parameter**: the `username` as a `string`.
It returns a `Promise` that resolves to an object containing the user's public profile data.
| Function | Platform | Parameter |
|---------------------------|----------------|---------------------|
| `getGFGData(username)` | GeeksforGeeks | `username` *(string)* |
| `getCodeforcesData(username)` | Codeforces | `username` *(string)* |
| `getCodeChefData(username)` | CodeChef | `username` *(string)* |
| `getLeetcodeData(username)` | LeetCode | `username` *(string)* |
> **Note**: Ensure that the usernames are correct and publicly accessible.
## ๐ Example Output
```json
{
"username": "johndoe",
"totalSolved": 350,
"ranking": "Expert",
"countryRank": 120
"more like heatmap, contestDetails, topicWiseProblems"
}
```
*Output structure may vary depending on the platform.*
## ๐งพ License
Apache License 2.0
ยฉ 2025 Junjyoti Changmai