Skip to content

Aayush9808/Coding-Platform-Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Typing SVG

Live Demo Status License

🌟 Unify Your Competitive Programming Journey

A powerful full-stack web application that analyzes your coding profiles across multiple competitive programming platforms, providing unified statistics, AI-powered insights, and duplicate problem detection.

🌐 Live Demo β€’ ✨ Features β€’ πŸ“Έ Screenshots β€’ πŸš€ Quick Start β€’ πŸ› οΈ Tech Stack β€’ πŸ“– API Docs

GitHub Stars GitHub Forks GitHub Issues


⚠️ IMPORTANT NOTICE - GeeksforGeeks Integration (Updated: February 2026)

GeeksforGeeks (GFG) support is currently unavailable due to the removal of their public API endpoint (practiceapi.geeksforgeeks.org/api/vr/user-stats). This endpoint was deprecated by GeeksforGeeks in late 2024/early 2025 when they redesigned their platform.

Current Status:

  • βœ… LeetCode: Fully functional with GraphQL API
  • βœ… CodeForces: Fully functional with REST API
  • ❌ GeeksforGeeks: API returns 404 (Not Found) - endpoint permanently removed

What This Means:

  • The application will display an error message for GFG profiles
  • LeetCode and CodeForces analysis work perfectly
  • All other features (duplicate detection, AI insights, charts) are fully operational

Future: GFG integration will be restored if/when they provide a new public API. For now, the app focuses on LeetCode and CodeForces, which provide comprehensive competitive programming analytics.


✨ Features

🌐 Multi-Platform Support

Seamlessly analyze profiles from:

  • πŸ’» LeetCode - Problem solving stats & difficulty breakdown βœ…
  • πŸ”· CodeForces - Contest ratings & problem history βœ…
  • πŸ“š GeeksforGeeks - Currently unavailable (API deprecated Feb 2026) ❌

πŸ“Š Unified Statistics

  • πŸ“ˆ Consolidated Data across all platforms
  • 🎯 Difficulty Analysis (Easy, Medium, Hard)
  • πŸ“‰ Progress Tracking with visual charts
  • πŸ† Performance Metrics at a glance

πŸ” Duplicate Detection

  • 🎯 Smart Algorithm (Estimated/Assumption-based)
  • πŸ”— Cross-Platform Matching of similar problems
  • πŸ“Š Visual Breakdown of duplicate solutions
  • πŸ’‘ Time-Saving Insights on what you've already solved

πŸ€– AI-Powered Insights

  • 🧠 Intelligent Analysis using NLP algorithms
  • πŸ’¬ Personalized Recommendations based on your progress
  • πŸ“ˆ Strengths & Weaknesses identification
  • πŸŽ“ Actionable Suggestions for improvement

πŸ“ˆ Visual Analytics

  • πŸ“Š Interactive Charts with Recharts
  • 🎨 Beautiful UI with Tailwind CSS
  • πŸ“‰ Difficulty Distribution pie charts
  • πŸ“ˆ Platform Comparison bar graphs

πŸ“€ Export & Share

  • πŸ“„ PDF Export - Professional reports
  • πŸ“Š Excel/CSV Export - Data analysis ready
  • πŸ”— Shareable Links - Easy portfolio sharing
  • πŸ’Ύ Cloud Storage - MongoDB Atlas integration

πŸ“Έ Screenshots

🏠 Home Page - Multi-Account Support

Home Page

Enter usernames from multiple platforms with support for multiple accounts per platform



⚑ Real-Time Analysis

Analyzing

Live analysis with smart server wake-up handling and progress tracking



πŸ“Š Comprehensive Dashboard - Unified Statistics

Dashboard Statistics

View aggregated statistics across all platforms with beautiful card layouts



πŸ€– AI-Powered Insights - Smart Recommendations

AI Insights

Get personalized strengths, weaknesses, and actionable improvement suggestions



πŸ—ΊοΈ Personalized Roadmap - Goal Tracking

Personalized Roadmap

AI-generated learning roadmap with duplicate detection and performance breakdown



πŸ“ˆ Visual Analytics - Interactive Charts

Visual Charts

Pie charts for difficulty distribution and bar graphs for platform comparison



πŸ“„ Export Options - Multiple Formats

Export Options

Download as PDF, Excel, or generate shareable links for your portfolio

---## πŸ› οΈ Tech Stack

Frontend

Next.js TypeScript React Tailwind CSS Recharts

Backend

Python FastAPI MongoDB Beautiful Soup

Deployment & Tools

Vercel Render Docker Git GitHub Actions

πŸ“¦ Complete Technology Breakdown
Category Technologies
Frontend Framework Next.js 14, React 18
Language TypeScript 5.0
Styling Tailwind CSS, Custom CSS
Data Visualization Recharts, Chart.js
PDF Generation jsPDF
Excel Export xlsx, SheetJS
Backend Framework FastAPI (Python)
Web Scraping Beautiful Soup, Requests
API Calls Tenacity (retry logic)
Database MongoDB Atlas
Hosting Vercel (Frontend), Render (Backend)
CI/CD GitHub Actions
Containerization Docker, Docker Compose

πŸš€ Quick Start

πŸ“‹ Prerequisites

Ensure you have the following installed:

Node.js
Node.js 18+
Download
Python
Python 3.11+
Download
Git
Git
Download

πŸ”§ Installation

1️⃣ Clone the Repository

git clone https://github.com/Aayush9808/Coding-Platform-Analyzer.git
cd Coding-Platform-Analyzer

2️⃣ Backend Setup

cd backend
pip install -r requirements.txt

# Start the backend server
python app.py

🟒 Backend will run on http://localhost:5000

3️⃣ Frontend Setup

cd frontend
npm install

# Start the development server
npm run dev

🟒 Frontend will run on http://localhost:3000

4️⃣ Environment Variables

Frontend - Create frontend/.env.local:

NEXT_PUBLIC_API_URL=http://localhost:5000

Backend - Optional (uses defaults):

MONGODB_URI=mongodb://localhost:27017
PORT=5000

🐳 Docker Setup (Alternative)

# Run with Docker Compose
docker-compose up -d

# Access the application
# Frontend: http://localhost:3000
# Backend: http://localhost:5000

πŸ“– How It Works

graph TB
    A[πŸ‘€ User Enters Usernames] --> B[πŸ“€ Frontend Sends Request]
    B --> C[⚑ FastAPI Backend]
    C --> D[πŸ•·οΈ Web Scrapers]
    D --> E1[πŸ’» LeetCode API]
    D --> E2[πŸ”· CodeForces API]
    D --> E3[πŸ“š GFG API]
    E1 --> F[πŸ”„ Data Processing]
    E2 --> F
    E3 --> F
    F --> G[πŸ€– AI Analysis Engine]
    G --> H[πŸ” Duplicate Detection]
    H --> I[πŸ’Ύ MongoDB Storage]
    I --> J[πŸ“Š Results Dashboard]
    J --> K1[πŸ“„ PDF Export]
    J --> K2[πŸ“Š Excel Export]
    J --> K3[πŸ”— Share Link]
    
    style A fill:#3B82F6,color:#fff
    style C fill:#10B981,color:#fff
    style G fill:#F59E0B,color:#fff
    style J fill:#8B5CF6,color:#fff
Loading

πŸ”„ Step-by-Step Process

Step Description
1️⃣ Input Enter usernames for LeetCode, CodeForces, and/or GeeksforGeeks
2️⃣ Fetch Backend scrapes data from each platform's API/website using retry logic
3️⃣ Process Normalizes data across different platform formats and structures
4️⃣ Analyze AI algorithms detect duplicate problems and generate insights
5️⃣ Visualize Interactive charts display your progress and statistics beautifully
6️⃣ Export Download as PDF/Excel or share via generated link for portfolios

⚠️ Note: First-time loads may take 30-60 seconds as the backend server wakes up (free tier hosting limitation)


🎯 Supported Platforms

Platform Status Features Extracted
πŸ’» LeetCode βœ… Active Problems solved, difficulty breakdown, submission stats, user profile
πŸ”· CodeForces βœ… Active Rating, rank, contest history, problem difficulty, solved problems
πŸ“š GeeksforGeeks ⚠️ Partial Profile validation (stats limited due to API changes)

πŸ“Š Key Metrics

Metric Value Description
🌐 Platforms Supported 3 LeetCode, CodeForces, GeeksforGeeks (partial)
🎯 Duplicate Detection Estimated Assumption-based matching algorithm
⚑ Data Processing Speed < 5 sec Average analysis time per profile
πŸ“ˆ Total Requests Handled 1000+ Successfully analyzed profiles
βœ… Uptime 99% Reliable cloud deployment
πŸ”„ Cache Efficiency 90% Reduction in redundant API calls
πŸ“Š Export Formats 3 PDF, Excel/CSV, Shareable Link

🎨 Usage Examples

Single Platform Analysis

LeetCode: AayushShrivastav
CodeForces: [leave empty]
GFG: [leave empty]

Perfect for focused analysis on one platform

Multi-Platform Analysis

LeetCode: AayushShrivastav
CodeForces: tourist
GFG: user123

Get comprehensive cross-platform insights

Multiple Accounts (Same Platform)

LeetCode: user1, user2, user3
CodeForces: handle1
GFG: [leave empty]

Compare multiple accounts or track team progress


πŸ”§ API Documentation

Base URL: https://platform-analyser-backend.onrender.com

Endpoints

🟒 Health Check

GET /

Response:

{
  "status": "running",
  "service": "ProgProfile API",
  "version": "2.0.0",
  "backend": "Python/FastAPI"
}

🟒 Analyze Profiles

POST /api/analyse
Content-Type: application/json

Request Body:

{
  "profiles": {
    "leetcode": "username",
    "codeforces": "handle",
    "gfg": "profile"
  }
}

Response:

{
  "platforms": {
    "leetcode": {
      "username": "AayushShrivastav",
      "stats": {
        "easy": 100,
        "medium": 50,
        "hard": 20,
        "total": 170
      }
    }
  },
  "overall": {
    "stats": {
      "total": 170,
      "unique": 119,
      "easy": 100,
      "medium": 50,
      "hard": 20
    },
    "duplicates": 51
  },
  "aiInsights": {
    "summary": "...",
    "recommendations": [...]
  }
}

🟒 Get Supported Platforms

GET /api/platforms

🟒 Analysis History

GET /api/history?limit=10
πŸ“– View Full API Documentation

Visit the interactive API docs at:

  • Swagger UI: http://localhost:5000/docs
  • ReDoc: http://localhost:5000/redoc

🀝 Contributing

Contributions make the open-source community an amazing place to learn, inspire, and create!

Any contributions you make are greatly appreciated ❀️

How to Contribute

  1. Fork the repository
  2. Clone your fork:
    git clone https://github.com/YOUR_USERNAME/Coding-Platform-Analyzer.git
  3. Create a feature branch:
    git checkout -b feature/AmazingFeature
  4. Commit your changes:
    git commit -m 'Add some AmazingFeature'
  5. Push to the branch:
    git push origin feature/AmazingFeature
  6. Open a Pull Request

🎯 Areas for Contribution

πŸ› Bug Fixes
Help identify and fix issues

✨ New Features
Add support for more platforms

🎨 UI/UX
Improve design and user experience

πŸ“š Documentation
Enhance guides and tutorials

πŸ§ͺ Testing
Increase test coverage

🌍 Translation
Add internationalization support


πŸ› Known Issues & Limitations

Issue Description Status
⚠️ GFG Limited Data GeeksforGeeks API changes limit available statistics Partial Support
⏳ Cold Start Delay First request may take 30-60s on free tier hosting Known Limitation
πŸ”„ Rate Limiting Some platforms may limit scraping frequency Implementing Cache

πŸ“ Future Roadmap

🎯 Short-term Goals

  • Add HackerRank support
  • Implement user authentication
  • Add contest calendar integration
  • Create mobile responsive improvements
  • Add dark mode toggle
  • Implement progress tracking over time

πŸš€ Long-term Vision

  • Support 10+ coding platforms
  • Mobile app (React Native)
  • Friend comparison feature
  • Team/Organization analytics
  • Real-time contest notifications
  • Machine learning predictions

πŸ“„ License

This project is licensed under the MIT License

License: MIT

Free to use for learning and personal projects

See LICENSE file for details


πŸ‘¨β€πŸ’» Creator

Aayush Shrivastav

Aayush Shrivastav

Full-Stack Developer | AI Enthusiast | Problem Solver

GitHub LinkedIn Portfolio

Built with ❀️ using React, Next.js, Python & AI


πŸ™ Acknowledgments

Special thanks to:

  • πŸ’» LeetCode, CodeForces, GeeksforGeeks for their amazing platforms and APIs
  • 🌟 Open Source Community for inspiration and support
  • πŸŽ“ Fellow Developers who provided feedback and suggestions
  • β˜• Coffee for fueling late-night coding sessions

πŸ“ž Support & Contact

Found this project useful? Give it a ⭐ on GitHub!

πŸ› Report Bug

Create Issue

πŸ’‘ Request Feature

Feature Request

πŸ“§ Contact

GitHub Profile


πŸ“Š GitHub Stats

GitHub Stats


⬆ Back to Top

Profile Views

Made with πŸ’», β˜•, and lots of ❀️ by Aayush Shrivastav

⭐ Star this repo if you find it helpful! ⭐

About

Automated competitive programming profile analyzer aggregating stats from LeetCode, Codeforces & CodeChef with AI insights, duplicate detection, and multi-format exports

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages