Skip to content

Commit c7aff24

Browse files
Yogender-vermajagdish-15github-actions[bot]
authored
docs: enhance README with structured sections and project clarity (#122)
* docs: enhance README with structured documentation * docs: enhance README with structured documentation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Apply suggestion from @jagdish-15 * Adjust README.md structure after applying suggestions * Add text above contributor link * style: auto-format code with Prettier (/format) --------- Co-authored-by: Jagdish Prajapati <jagadishdrp@gmail.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 039b6a0 commit c7aff24

1 file changed

Lines changed: 103 additions & 30 deletions

File tree

README.md

Lines changed: 103 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,44 @@
11
# CodePVG LeetCode Ranking
22

3-
A web-based platform developed by [CodePVG](https://www.linkedin.com/company/codepvg/) to track and rank students of [PVG COET](https://www.pvgcoet.ac.in/) based on their LeetCode performance
3+
A web-based platform developed by [CodePVG](https://www.linkedin.com/company/codepvg/) to track, analyze, and rank students of [PVG COET](https://www.pvgcoet.ac.in/) based on their LeetCode activity and problem-solving performance.
44

5-
It allows users to register with their LeetCode username and automatically fetches their problem-solving statistics to display on a leaderboard.
5+
The platform allows students to register using their LeetCode username and automatically generates leaderboard rankings, historical progress tracking, and performance insights through periodic synchronization of LeetCode statistics.
66

77
---
88

99
## Purpose
1010

11-
The goal of this project is to:
11+
The goal of this project is to encourage consistent problem-solving among students by providing a centralized platform to track LeetCode activity and coding progress.
1212

13-
- Encourage consistent problem-solving among students
14-
- Create a competitive yet motivating environment
15-
- Provide visibility into individual coding progress
13+
Through regularly updated leaderboards and historical performance tracking, the platform aims to create a competitive yet collaborative environment where students can monitor their growth, stay motivated, and improve their problem-solving skills over time.
14+
15+
---
16+
17+
## Features
18+
19+
- **LeetCode-based Student Registration**
20+
Students can register using their LeetCode username to participate in the leaderboard.
21+
22+
- **Automated Performance Tracking**
23+
The platform periodically fetches and updates user problem-solving statistics automatically.
24+
25+
- **Dynamic Multi-View Leaderboards**
26+
Supports overall, monthly, weekly, and daily leaderboard rankings.
27+
28+
- **Historical Progress Tracking**
29+
Tracks past performance and rank movement over time using historical leaderboard snapshots.
30+
31+
- **Terminal-inspired Responsive UI**
32+
A lightweight terminal-style interface designed to work across both desktop and mobile devices.
33+
34+
- **Search, Filtering, and Comparison Tools**
35+
Includes leaderboard search, filtering, and peer comparison features for easier performance analysis.
36+
37+
- **Decoupled Data Architecture**
38+
Frontend, backend, and leaderboard data storage are maintained independently for easier scalability and maintenance.
39+
40+
- **Automated Synchronization Workflows**
41+
GitHub Actions and sync scripts help keep leaderboard data updated without manual intervention.
1642

1743
---
1844

@@ -32,6 +58,31 @@ A quick preview of the platform UI. The appearance may evolve as the project dev
3258

3359
![Leaderboard](assets/leaderboard.png)
3460

61+
---
62+
63+
## Architecture
64+
65+
The project follows a decoupled structure where leaderboard generation, data storage, API handling, and frontend rendering are handled independently across multiple repositories and services.
66+
67+
### Components
68+
69+
- **Frontend (`frontend/`)**
70+
Handles the leaderboard UI, registration pages, comparison features, and client-side interactions. Leaderboard datasets are fetched directly from the `leetcode-ranking-data` repository.
71+
72+
- **Express Server (`server.js`)**
73+
Serves the frontend and exposes API endpoints for student-specific information, history tracking, and related backend functionality.
74+
75+
- **Sync Scripts (`scripts/`)**
76+
Periodically fetch and process LeetCode statistics to generate updated leaderboard datasets.
77+
78+
- **Data Repository (`leetcode-ranking-data`)**
79+
Stores generated leaderboard snapshots, historical statistics, and processed JSON data separately from the main application repository.
80+
81+
- **GitHub Actions (`.github/workflows/`)**
82+
Automates scheduled sync runs, formatting checks, stale issue management, and other repository workflows.
83+
84+
---
85+
3586
## Related Repositories
3687

3788
- [leetcode-ranking-data](https://github.com/codepvg/leetcode-ranking-data) – The database repository where raw JSON data and historical stats are stored
@@ -44,11 +95,12 @@ A quick preview of the platform UI. The appearance may evolve as the project dev
4495

4596
## Project Structure
4697

47-
```
98+
```text
4899
leetcode-ranking/
49-
│── frontend/ # UI (HTML, CSS, JS) - Fetches data from leetcode-ranking-data
50-
│── scripts/ # Automation scripts (sync-leaderboard.js)
51-
│── server.js # Express server
100+
│── .github/ # GitHub Actions workflows
101+
│── frontend/ # UI (HTML, CSS, JS) - Fetches data from leetcode-ranking-data
102+
│── scripts/ # Automation scripts (sync-leaderboard.js)
103+
│── server.js # Express server
52104
│── package.json
53105
```
54106

@@ -57,41 +109,62 @@ leetcode-ranking/
57109
58110
---
59111

60-
## How to Run Locally
112+
## Usage
113+
114+
The platform is publicly available at:
115+
116+
`https://codepvg.onrender.com`
117+
118+
Students can register using their LeetCode username to participate in the leaderboard, track rankings across different leaderboard views, monitor historical performance, and compare progress with other users.
119+
120+
Leaderboard data is synchronized periodically, so newly registered users and recent submissions may take a few minutes to appear in the rankings.
61121

62-
### 1. Fork and clone the repository
122+
---
63123

64-
First, fork the repository to your GitHub account. Then clone it locally:
124+
## How to Run Locally
65125

66126
```bash
67127
git clone https://github.com/YOUR-USERNAME/leetcode-ranking.git
68128
cd leetcode-ranking
129+
npm install
130+
npm run dev
69131
```
70132

71-
### 2. Install dependencies
133+
Then open the frontend locally in your browser after starting the server.
134+
135+
For detailed development setup, sync workflow testing, contribution guidelines, and local data repository configuration, refer to `CONTRIBUTING.md`.
72136

73-
`npm install`
137+
---
74138

75-
### 3. Run the project
139+
## Contributing
76140

77-
`npm run dev`
78-
or
79-
`node start`
141+
Contributions, suggestions, and improvements are welcome.
80142

81-
## Usage
143+
Before starting work on a feature or fix, please check the existing issues/discussions or open a new issue to discuss the proposed change first.
82144

83-
1. Open the registration page
84-
2. Enter your name and LeetCode username
85-
3. Submit the form
86-
4. View your ranking on the leaderboard after the next sync
145+
For detailed contribution guidelines, local workflow setup, formatting instructions, and sync workflow testing, refer to `CONTRIBUTING.md`.
87146

88147
---
89148

90-
## Contributing
149+
## License
150+
151+
This project is licensed under the MIT License.
152+
153+
You are free to use, modify, and distribute this project with proper attribution.
154+
155+
---
156+
157+
## Contributors
158+
159+
Thanks to everyone who has contributed to the project and helped improve the platform through features, fixes, suggestions, and discussions.
160+
161+
You can view the full list of contributors here:
162+
https://github.com/codepvg/leetcode-ranking/graphs/contributors
163+
164+
---
165+
166+
## Maintainer
91167

92-
Contributions are welcome.
168+
Maintained by [Jagdish Prajapati](https://github.com/jagdish-15) as part of the CodePVG initiative.
93169

94-
- Fork the repository
95-
- Create a new branch
96-
- Make your changes
97-
- Submit a Pull Request
170+
For major feature proposals, architecture discussions, or project-related queries, feel free to open an issue/discussion in the repository.

0 commit comments

Comments
 (0)