Skip to content

MahlaqaHaque/github-repo-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub Repo Analyzer

A modern web application to analyze public GitHub repositories, visualize contributors, and explore repository statistics.


πŸ” Features

  • Analyze any public GitHub repository by URL
  • Contributors sidebar with scroll (sticky on desktop)
  • Repository details: name, description, stars, forks, issues
  • Top contributors and commit activity visualization
  • Responsive, modern UI using Material-UI (MUI v7+)
  • Backend: Flask API with secure GitHub token handling

πŸ“ Project Structure

/github-repo-analyzer/ β”œβ”€β”€ ui/ # React app (Create React App) β”‚ └── Dependencies: React 19, MUI 7, Recharts, Axios └── backend/ # Flask API β”œβ”€β”€ app.py β”œβ”€β”€ Dockerfile β”œβ”€β”€ .dockerignore └── Dependencies: Flask, requests, python-dotenv, flask-cors

yaml Copy Edit


πŸš€ Getting Started

βœ… Prerequisites

  • Node.js (v18+ recommended)
  • Python 3.8+
  • npm (comes with Node.js)
  • GitHub personal access token (for API requests)

πŸ“¦ 1. Clone the Repository

git clone https://github.com/yourusername/github-repo-analyzer.git
cd github-repo-analyzer
βš™οΈ 2. Backend Setup
bash
Copy
Edit
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Create a .env file and add your GitHub token:

bash
Copy
Edit
echo "GITHUB_TOKEN=your_github_token_here" > .env
Start the Flask server:

bash
Copy
Edit
python app.py
The backend runs on http://localhost:5001/ by default.

πŸ’» 3. UI Setup
bash
Copy
Edit
cd ../ui
npm install
npm start
The UI runs on http://localhost:3000/ by default.

πŸ§‘β€πŸ’» Usage
Enter a public GitHub repository URL (e.g., https://github.com/facebook/react) in the search bar.

Click Analyze.

View contributors, repository stats, and commit analytics.

πŸ› οΈ Technologies Used
Frontend
React 19

Material-UI v7+

Recharts

Axios

Backend
Flask

Requests

Flask-CORS

python-dotenv

Deployment
Docker-ready backend

🌐 Environment Variables
Backend
GITHUB_TOKEN β€” stored in .env (never commit this file)

πŸ“Έ Screenshots
Add screenshots here showing the contributors sidebar and analytics UI.

πŸ“„ License
This project is licensed under the MIT License.

πŸ™Œ Acknowledgements
[Material-UI](https://mui.com/)
[Recharts](https://recharts.org/en-US/)
[GitHub REST API](https://docs.github.com/en/rest)

---

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published