Skip to content

sanjeevpdsnm/Github_Portfolio_Analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

<<<<<<< HEAD

🚀 GitHub Portfolio Analyzer & Enhancer

"Unfold Success from Untold Experiences"

Turn your GitHub repositories into recruiter-ready proof. Get an objective Recruiter-Readiness Score (0–100), discover red flags, and receive actionable fixes — in seconds.

Node.js React Express Tailwind CSS


✨ Features

  • Recruiter-Readiness Score — Objective 0–100 score based on how recruiters evaluate GitHub profiles
  • Dimension Breakdown — Radar chart analyzing Documentation, Consistency, Impact & Best Practices
  • Tech Stack Analysis — Visual breakdown of languages used across repositories
  • Strengths & Red Flags — Explicit feedback on what looks good and what needs work
  • 3 Actionable Recommendations — Specific, prioritized fixes to boost your score immediately
  • Dark Mode UI — Modern glassmorphism design with smooth animations

🏗️ Scoring Algorithm

Dimension Weight What's Checked
📝 Documentation 30% README existence & detail (> 500 chars)
🔄 Consistency 25% Push event frequency over last 30 days
⭐ Impact 25% Stars, forks, and repository count
✅ Best Practices 20% .gitignore presence & repo descriptions

Color Coding: 🟢 ≥ 75 (Recruiter-Ready) · 🟡 50–74 (Getting There) · 🔴 < 50 (Needs Work)


📂 Project Structure

├── client/                        # React Frontend (Vite + Tailwind CSS)
│   ├── src/
│   │   ├── components/
│   │   │   └── Dashboard.jsx      # Score card, charts, metrics, recommendations
│   │   ├── pages/
│   │   │   ├── LandingPage.jsx    # Hero section with username input
│   │   │   └── AnalyzePage.jsx    # Loading states + dashboard rendering
│   │   ├── App.jsx                # React Router setup
│   │   └── index.css              # Dark design system
│   └── vite.config.js
│
├── server/                        # Express Backend
│   ├── controllers/
│   │   └── analyzeController.js   # Request handling + error responses
│   ├── services/
│   │   ├── githubService.js       # GitHub API integration (Octokit)
│   │   └── scoringService.js      # Scoring algorithm + recommendations
│   ├── routes/
│   │   └── analyze.js             # POST /api/analyze
│   └── index.js                   # Express entry point
│
├── render.yaml                    # Render deployment config
└── package.json                   # Root build/start scripts

🚀 Getting Started

Prerequisites

  • Node.js v18+
  • GitHub Personal Access Token (optional but recommended — create one here, no scopes needed)

Installation

# Clone the repo
git clone https://github.com/your-username/github-portfolio-analyzer.git
cd github-portfolio-analyzer

# Install all dependencies (server + client)
npm install

Configuration

Create a .env file in the server/ directory:

GITHUB_TOKEN=ghp_your_personal_access_token
PORT=3001

⚠️ Without a token, you're limited to 60 API requests/hour. With a token, you get 5,000/hour.

Run Locally

# Terminal 1 — Start the backend
cd server
npm start

# Terminal 2 — Start the frontend
cd client
npm run dev

Open http://localhost:5173 in your browser.


🌐 Deploy on Render

  1. Push this repo to GitHub
  2. Go to render.comNewWeb Service
  3. Connect your GitHub repo
  4. Render auto-detects render.yaml, or set manually:
    • Build Command: npm install && npm run build
    • Start Command: npm start
  5. Add environment variable: GITHUB_TOKEN = your token

🛠️ Tech Stack

Layer Technology
Frontend React 19, Vite, Tailwind CSS v4, Recharts, Lucide Icons
Backend Node.js, Express.js
API GitHub REST API via @octokit/rest
Deployment Render

📡 API Reference

POST /api/analyze

Request Body:

{ "username": "octocat" }

Success Response (200):

{
  "user": {
    "login": "octocat",
    "name": "The Octocat",
    "avatar_url": "https://...",
    "bio": "...",
    "public_repos": 8,
    "followers": 10000
  },
  "analysis": {
    "totalScore": 72,
    "dimensions": { "documentation": {}, "consistency": {}, "impact": {}, "bestPractices": {} },
    "topLanguages": [{ "name": "JavaScript", "count": 5 }],
    "longestStreak": 7,
    "strengths": ["..."],
    "redFlags": ["..."],
    "recommendations": [{ "title": "...", "description": "...", "impact": "high" }]
  }
}

Error Responses: 404 (user not found), 429 (rate limit exceeded)


📄 License

This project is open source and available under the MIT License.


Built with ♥ — Not affiliated with GitHub, Inc.

======= # Github_Portfolio_Analyzer >>>>>>> a1e8806155337658375a539b0315a9d2ccd04ad7

About

Github Portfolio Analyzer – A tool that analyzes GitHub profiles and repositories to generate insights, portfolio summaries, and developer statistics automatically.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages