Skip to content

Commit cee2c91

Browse files
committed
Add automated stats tracking section to README.md with setup instructions
1 parent 1d87ba6 commit cee2c91

1 file changed

Lines changed: 55 additions & 150 deletions

File tree

README.md

Lines changed: 55 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -207,57 +207,93 @@
207207

208208
---
209209

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+
210226
## 📚 Setup and Usage
211227

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!
213231
214232
#### Prerequisites
215233
- Python 3.8 or higher
234+
- A GitHub account
216235
- pip (Python package manager)
217236

218237
#### Installation
219238

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** 📦
221245
```bash
222-
git clone https://github.com/MishkatIT/ProblemSolvingStats.git
246+
git clone https://github.com/YOUR_USERNAME/ProblemSolvingStats.git
223247
cd ProblemSolvingStats
224248
```
225249

226-
2. **Install dependencies**
250+
3. **Install dependencies** 📥
227251
```bash
228252
pip install -r requirements.txt
229253
```
230254

231-
3. **Configure your usernames** (Optional)
255+
4. **Configure your usernames** ⚙️
232256

233-
Edit `src/config.py` to update your platform usernames:
257+
Edit `src/config.py` and replace with your platform usernames:
234258
```python
235259
USER_CONFIG = {
236260
'Codeforces': 'YourUsername',
237261
'LeetCode': 'YourUsername',
238-
# ... update other platforms
262+
'AtCoder': 'YourUsername',
263+
# ... update all your platforms
239264
}
240265
```
241266

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+
242277
#### Running the Scripts
243278

244-
**Automatic Update (Fetch from APIs and Web Scraping):**
279+
**Automatic Update (Recommended):**
245280
```bash
246281
python3 update_stats.py
247282
```
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
252288

253-
**Manual Update (Interactive Input):**
289+
**Manual Update (When needed):**
254290
```bash
255291
python3 manual_update.py
256292
```
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
261297

262298
**Update README Only:**
263299
```bash
@@ -288,140 +324,9 @@ If you need to update statistics manually:
288324

289325
## 🤝 Contributing
290326

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.
357328

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.
425330

426331
---
427332

0 commit comments

Comments
 (0)