From ba2ead4c4d55bf1aed448b5cb046ef2f0e13c444 Mon Sep 17 00:00:00 2001 From: adityak-06 Date: Wed, 1 Apr 2026 10:51:31 +0530 Subject: [PATCH 1/2] Added detailed README with features and setup --- README.md | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 116 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 388fe8e..4b5a9ac 100644 --- a/README.md +++ b/README.md @@ -1 +1,116 @@ -# leetcode-ranking \ No newline at end of file +# 🚀 CodePVG LeetCode Ranking + +A web-based platform developed for CodePVG to track and rank students based on their LeetCode performance. +It allows users to register with their LeetCode username and automatically fetches their problem-solving statistics to display on a leaderboard. + +--- + +## 🎯 Purpose + +The goal of this project is to: +- Encourage consistent problem-solving among students 📈 +- Create a competitive yet motivating environment 🏆 +- Provide visibility into individual coding progress 💻 + +--- + +## 🌟 Features + +### 🔐 User Registration +- Users can register using their name and LeetCode username +- Accepts both direct usernames and profile links +- Validates whether the LeetCode user exists before registration + +--- + +### 📊 Leaderboard System +- Displays ranked users based on their LeetCode stats +- Automatically updates rankings based on fetched data +- Clean UI for easy comparison between users + +--- + +### 🔄 Automated Data Fetching +- Periodically fetches user data using LeetCode API +- Updates stored data without manual intervention +- Ensures leaderboard stays up-to-date + +--- + +### 🎨 User-Friendly Interface +- Simple and clean UI design +- Smooth user experience with loading states +- Blur + spinner animation during registration (UX improvement) + +--- + +### ⚡ Input Handling & Validation +- Extracts username even from full LeetCode profile links +- Prevents invalid or non-existent usernames +- Avoids duplicate or incorrect entries + +--- + +### 🛡️ Error Handling +- Handles API failures gracefully +- Displays alerts for invalid inputs +- Prevents multiple submissions during requests + +--- + +## 🛠️ Tech Stack + +| Layer | Technology | +|------------|------------------------| +| Frontend | HTML, CSS, JavaScript | +| Backend | Node.js | +| API | LeetCode API | + +--- + +## 📂 Project Structure + +leetcode-ranking/ +│── frontend/ # UI (HTML, CSS, JS) +│── data/ # Stored user data +│── scripts/ # Automation scripts +│── server.js # Backend server +│── package.json + + +--- + +## 🚀 How to Run Locally + +### 1️⃣ Clone the repository + +```bash +git clone https://github.com/YOUR-USERNAME/leetcode-ranking.git +cd leetcode-ranking + +2️⃣ Install dependencies + +npm install +cd frontend +npm install + +3️⃣ Run the project + +npm run dev OR node server.js + +📌 Usage + +Open the registration page +Enter your name and LeetCode username +Submit the form +View your ranking on the leaderboard +🤝 Contributing + + +Contributions are welcome! + +Fork the repo +Create a new branch +Make changes +Submit a Pull Request + From 132b92a74e4e09f27fc3c0cd0fc27bab12ab5f69 Mon Sep 17 00:00:00 2001 From: adityak-06 Date: Sun, 5 Apr 2026 23:13:18 +0530 Subject: [PATCH 2/2] updated readme file --- README.md | 134 +++++++++++++++++++++++++++--------------------------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/README.md b/README.md index 4b5a9ac..ef0506a 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,116 @@ -# 🚀 CodePVG LeetCode Ranking +# CodePVG LeetCode Ranking A web-based platform developed for CodePVG to track and rank students based on their LeetCode performance. It allows users to register with their LeetCode username and automatically fetches their problem-solving statistics to display on a leaderboard. --- -## 🎯 Purpose +## Purpose The goal of this project is to: -- Encourage consistent problem-solving among students 📈 -- Create a competitive yet motivating environment 🏆 -- Provide visibility into individual coding progress 💻 ---- - -## 🌟 Features - -### 🔐 User Registration -- Users can register using their name and LeetCode username -- Accepts both direct usernames and profile links -- Validates whether the LeetCode user exists before registration +- Encourage consistent problem-solving among students +- Create a competitive yet motivating environment +- Provide visibility into individual coding progress --- -### 📊 Leaderboard System -- Displays ranked users based on their LeetCode stats -- Automatically updates rankings based on fetched data -- Clean UI for easy comparison between users +## Features ---- +### User Registration +- Users can register using their name and LeetCode username +- Accepts both direct usernames and profile links +- Validates whether the LeetCode user exists before registration -### 🔄 Automated Data Fetching -- Periodically fetches user data using LeetCode API -- Updates stored data without manual intervention -- Ensures leaderboard stays up-to-date +### Leaderboard System +- Displays ranked users based on their LeetCode statistics +- Automatically updates rankings based on fetched data +- Provides a clean interface for easy comparison ---- +### Automated Data Fetching +- Periodically fetches user data using the LeetCode API +- Updates stored data without manual intervention +- Keeps leaderboard information up-to-date -### 🎨 User-Friendly Interface -- Simple and clean UI design -- Smooth user experience with loading states -- Blur + spinner animation during registration (UX improvement) +### User Interface +- Simple and clean UI design +- Smooth user experience with loading states +- Includes blur and spinner animation during registration ---- +### Input Handling and Validation +- Extracts username from full LeetCode profile links +- Prevents invalid or non-existent usernames +- Avoids duplicate or incorrect entries -### ⚡ Input Handling & Validation -- Extracts username even from full LeetCode profile links -- Prevents invalid or non-existent usernames -- Avoids duplicate or incorrect entries +### Error Handling +- Handles API failures gracefully +- Displays alerts for invalid inputs +- Prevents multiple submissions during requests --- -### 🛡️ Error Handling -- Handles API failures gracefully -- Displays alerts for invalid inputs -- Prevents multiple submissions during requests - ---- +## Tech Stack -## 🛠️ Tech Stack - -| Layer | Technology | -|------------|------------------------| -| Frontend | HTML, CSS, JavaScript | -| Backend | Node.js | -| API | LeetCode API | +| Layer | Technology | +|----------|------------------------| +| Frontend | HTML, CSS, JavaScript | +| Backend | Node.js | +| API | LeetCode API | --- -## 📂 Project Structure +## Project Structure +``` leetcode-ranking/ -│── frontend/ # UI (HTML, CSS, JS) -│── data/ # Stored user data -│── scripts/ # Automation scripts -│── server.js # Backend server +│── frontend/ # UI (HTML, CSS, JS) +│── data/ # Stored user data +│── scripts/ # Automation scripts +│── server.js # Backend server │── package.json - +``` --- -## 🚀 How to Run Locally +## How to Run Locally -### 1️⃣ Clone the repository +### 1. Clone the repository ```bash git clone https://github.com/YOUR-USERNAME/leetcode-ranking.git cd leetcode-ranking +``` + +### 2. Install dependencies -2️⃣ Install dependencies npm install cd frontend npm install -3️⃣ Run the project +### 3. Run the project + -npm run dev OR node server.js +npm run dev -📌 Usage +or -Open the registration page -Enter your name and LeetCode username -Submit the form -View your ranking on the leaderboard -🤝 Contributing +node server.js +## Usage + +1. Open the registration page +2. Enter your name and LeetCode username +3. Submit the form +4. View your ranking on the leaderboard + +--- -Contributions are welcome! +## Contributing -Fork the repo -Create a new branch -Make changes -Submit a Pull Request +Contributions are welcome. +- Fork the repository +- Create a new branch +- Make your changes +- Submit a Pull Request \ No newline at end of file