|
207 | 207 |
|
208 | 208 | --- |
209 | 209 |
|
| 210 | +## 🎯 Want Your Own Automated Stats Tracker? |
| 211 | + |
| 212 | +<div align="center"> |
| 213 | + |
| 214 | +### ✨ Imagine Your Problem-Solving Journey Auto-Updated Daily! ✨ |
| 215 | + |
| 216 | +**Tired of manually updating your competitive programming stats?** |
| 217 | +**Want a beautiful, automatically updated showcase of your achievements?** |
| 218 | +**Ready to track your progress across 12+ platforms effortlessly?** |
| 219 | + |
| 220 | +🎉 **You can have the same automated tracking system!** 🎉 |
| 221 | + |
| 222 | +</div> |
| 223 | + |
| 224 | +--- |
| 225 | + |
210 | 226 | ## 📚 Setup and Usage |
211 | 227 |
|
212 | | -### 🚀 Quick Start |
| 228 | +### 🚀 Get Started in 5 Minutes |
| 229 | + |
| 230 | +> **What you'll get:** Your own GitHub README that automatically updates every day with your latest problem-solving statistics from Codeforces, LeetCode, AtCoder, and 9 other platforms! |
213 | 231 |
|
214 | 232 | #### Prerequisites |
215 | 233 | - Python 3.8 or higher |
| 234 | +- A GitHub account |
216 | 235 | - pip (Python package manager) |
217 | 236 |
|
218 | 237 | #### Installation |
219 | 238 |
|
220 | | -1. **Clone the repository** |
| 239 | +1. **Fork this repository** 🍴 |
| 240 | + - Visit [MishkatIT/ProblemSolvingStats](https://github.com/MishkatIT/ProblemSolvingStats) |
| 241 | + - Click the **Fork** button in the top-right corner |
| 242 | + - Now you have your own copy! |
| 243 | + |
| 244 | +2. **Clone your fork** 📦 |
221 | 245 | ```bash |
222 | | - git clone https://github.com/MishkatIT/ProblemSolvingStats.git |
| 246 | + git clone https://github.com/YOUR_USERNAME/ProblemSolvingStats.git |
223 | 247 | cd ProblemSolvingStats |
224 | 248 | ``` |
225 | 249 |
|
226 | | -2. **Install dependencies** |
| 250 | +3. **Install dependencies** 📥 |
227 | 251 | ```bash |
228 | 252 | pip install -r requirements.txt |
229 | 253 | ``` |
230 | 254 |
|
231 | | -3. **Configure your usernames** (Optional) |
| 255 | +4. **Configure your usernames** ⚙️ |
232 | 256 |
|
233 | | - Edit `src/config.py` to update your platform usernames: |
| 257 | + Edit `src/config.py` and replace with your platform usernames: |
234 | 258 | ```python |
235 | 259 | USER_CONFIG = { |
236 | 260 | 'Codeforces': 'YourUsername', |
237 | 261 | 'LeetCode': 'YourUsername', |
238 | | - # ... update other platforms |
| 262 | + 'AtCoder': 'YourUsername', |
| 263 | + # ... update all your platforms |
239 | 264 | } |
240 | 265 | ``` |
241 | 266 |
|
| 267 | +5. **Run it once to test** 🧪 |
| 268 | + ```bash |
| 269 | + python3 update_stats.py |
| 270 | + ``` |
| 271 | + |
| 272 | +6. **Enable GitHub Actions** 🤖 |
| 273 | + - Go to your repository's **Actions** tab |
| 274 | + - Click **"I understand my workflows, go ahead and enable them"** |
| 275 | + - Your stats will now update automatically every day! 🎊 |
| 276 | + |
242 | 277 | #### Running the Scripts |
243 | 278 |
|
244 | | -**Automatic Update (Fetch from APIs and Web Scraping):** |
| 279 | +**Automatic Update (Recommended):** |
245 | 280 | ```bash |
246 | 281 | python3 update_stats.py |
247 | 282 | ``` |
248 | | -This script will: |
249 | | -- Fetch statistics from all 12 platforms |
250 | | -- Save results to `stats.json` and `last_known_counts.json` |
251 | | -- Automatically update the README.md |
| 283 | +✨ This script will: |
| 284 | +- 🔄 Fetch your latest statistics from all 12 platforms |
| 285 | +- 💾 Save results to `stats.json` and `last_known_counts.json` |
| 286 | +- 📝 Automatically generate and update your README.md |
| 287 | +- 📊 Create beautiful progress badges and tables |
252 | 288 |
|
253 | | -**Manual Update (Interactive Input):** |
| 289 | +**Manual Update (When needed):** |
254 | 290 | ```bash |
255 | 291 | python3 manual_update.py |
256 | 292 | ``` |
257 | | -This script will: |
258 | | -- Prompt you to enter statistics for each platform |
259 | | -- Save your inputs and update the README |
260 | | -- Useful when automatic fetching fails |
| 293 | +🛠️ This script will: |
| 294 | +- 📝 Let you manually enter statistics for any platform |
| 295 | +- 💡 Perfect when automatic fetching fails |
| 296 | +- 🎯 Useful for platforms without APIs |
261 | 297 |
|
262 | 298 | **Update README Only:** |
263 | 299 | ```bash |
@@ -288,140 +324,9 @@ If you need to update statistics manually: |
288 | 324 |
|
289 | 325 | ## 🤝 Contributing |
290 | 326 |
|
291 | | -### How to Fork and Contribute |
292 | | - |
293 | | -We welcome contributions! Here's how to get started: |
294 | | - |
295 | | -#### 1. Fork the Repository |
296 | | - |
297 | | -1. Navigate to [MishkatIT/ProblemSolvingStats](https://github.com/MishkatIT/ProblemSolvingStats) |
298 | | -2. Click the **Fork** button in the top-right corner |
299 | | -3. GitHub will create a copy of the repository in your account |
300 | | - |
301 | | -#### 2. Clone Your Fork |
302 | | - |
303 | | -```bash |
304 | | -# Clone your forked repository |
305 | | -git clone https://github.com/YOUR_USERNAME/ProblemSolvingStats.git |
306 | | -cd ProblemSolvingStats |
307 | | - |
308 | | -# Add the original repository as upstream |
309 | | -git remote add upstream https://github.com/MishkatIT/ProblemSolvingStats.git |
310 | | - |
311 | | -# Verify remotes |
312 | | -git remote -v |
313 | | -``` |
314 | | - |
315 | | -#### 3. Create a Feature Branch |
316 | | - |
317 | | -```bash |
318 | | -# Create and switch to a new branch |
319 | | -git checkout -b feature/your-feature-name |
320 | | - |
321 | | -# Or for bug fixes |
322 | | -git checkout -b fix/your-bug-fix |
323 | | -``` |
324 | | - |
325 | | -#### 4. Make Your Changes |
326 | | - |
327 | | -- Edit files as needed |
328 | | -- Test your changes thoroughly |
329 | | -- Follow existing code style and conventions |
330 | | -- Add comments where necessary |
331 | | - |
332 | | -#### 5. Commit and Push |
333 | | - |
334 | | -```bash |
335 | | -# Stage your changes |
336 | | -git add . |
337 | | - |
338 | | -# Commit with a descriptive message |
339 | | -git commit -m "Add: Brief description of your changes" |
340 | | - |
341 | | -# Push to your fork |
342 | | -git push origin feature/your-feature-name |
343 | | -``` |
344 | | - |
345 | | -#### 6. Create a Pull Request |
346 | | - |
347 | | -1. Go to your fork on GitHub |
348 | | -2. Click **Compare & pull request** |
349 | | -3. Provide a clear title and description |
350 | | -4. Click **Create pull request** |
351 | | - |
352 | | ---- |
353 | | - |
354 | | -## 🔄 Syncing Your Fork with Upstream |
355 | | - |
356 | | -To keep your fork up-to-date with the original repository: |
| 327 | +We welcome contributions! Whether you want to report bugs, suggest features, improve documentation, or add new platform support, your help is appreciated. |
357 | 328 |
|
358 | | -### Method 1: Using Git Commands |
359 | | - |
360 | | -```bash |
361 | | -# Fetch upstream changes |
362 | | -git fetch upstream |
363 | | - |
364 | | -# Switch to your main branch |
365 | | -git checkout main |
366 | | - |
367 | | -# Merge upstream changes |
368 | | -git merge upstream/main |
369 | | - |
370 | | -# Push updates to your fork |
371 | | -git push origin main |
372 | | -``` |
373 | | - |
374 | | -### Method 2: Using Git Rebase (Cleaner History) |
375 | | - |
376 | | -```bash |
377 | | -# Fetch upstream changes |
378 | | -git fetch upstream |
379 | | - |
380 | | -# Rebase your main branch |
381 | | -git checkout main |
382 | | -git rebase upstream/main |
383 | | - |
384 | | -# Force push to your fork (if needed) |
385 | | -git push origin main --force-with-lease |
386 | | -``` |
387 | | - |
388 | | -### Resolving Conflicts |
389 | | - |
390 | | -If you encounter merge conflicts: |
391 | | - |
392 | | -```bash |
393 | | -# 1. Identify conflicting files |
394 | | -git status |
395 | | - |
396 | | -# 2. Open conflicting files and resolve conflicts manually |
397 | | -# Look for conflict markers: <<<<<<<, =======, >>>>>>> |
398 | | - |
399 | | -# 3. Stage resolved files |
400 | | -git add <resolved-file> |
401 | | - |
402 | | -# 4. Complete the merge |
403 | | -git merge --continue |
404 | | -# Or if rebasing: |
405 | | -git rebase --continue |
406 | | - |
407 | | -# 5. Push changes |
408 | | -git push origin main |
409 | | -``` |
410 | | - |
411 | | -### Sync Before Each Contribution |
412 | | - |
413 | | -Always sync your fork before creating a new feature branch: |
414 | | - |
415 | | -```bash |
416 | | -# Update your main branch |
417 | | -git checkout main |
418 | | -git fetch upstream |
419 | | -git merge upstream/main |
420 | | -git push origin main |
421 | | - |
422 | | -# Create new feature branch from updated main |
423 | | -git checkout -b feature/new-feature |
424 | | -``` |
| 329 | +Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines on how to contribute to this project. |
425 | 330 |
|
426 | 331 | --- |
427 | 332 |
|
|
0 commit comments