Git.Grade.mp4
Note to Judges: The application processes real-time data from GitHub. Please allow a few seconds for the AI analysis to complete after clicking "Analyze".
Theme: AI + Code Analysis + Developer Profiling Event: Unsaid Talks™ GitGrade Hackathon Tagline: Unfold Success from Untold Experiences
GitGrade is an intelligent "Repository Mirror" that evaluates GitHub repositories to provide students and developers with an honest score, a mentor-style summary, and a personalized roadmap for improvement.
In the modern tech landscape, a GitHub repository is a developer's tangible portfolio. However, most students and early-career developers do not know how their code looks to a recruiter or mentor. They often lack:
- Actionable feedback on code cleanliness and consistency.
- Understanding of "production-ready" standards vs. "academic" code.
- A clear path to improve their existing projects.
The Challenge: Design a system that accepts a repository URL, automatically fetches data, and generates a meaningful Score + Summary + Roadmap.
GitGrade acts as an automated AI Coding Mentor. Instead of just checking for syntax errors, it evaluates the quality and maturity of the project.
The system uses the GitHub API to fetch public repository data, including:
- Metadata: Stars, forks, language distribution.
- File Structure: Analysis of folder hierarchy and organization.
- Content: The
README.md,package.json(or equivalent), and samples of source code. - History: Recent commit messages to analyze development consistency.
We utilize OpenAI (GPT-5) to analyze the aggregated data against 6 key dimensions:
- 🛠️ Code Quality: Readability, naming conventions, and patterns.
- 📂 Project Structure: Separation of concerns and file organization.
- 📄 Documentation: Clarity of the README and inline comments.
- 🧪 Test Coverage: Presence and quality of automated tests.
- 🌳 Git Practices: Commit message quality and frequency.
- 🌍 Real-World Relevance: Practical value and completeness.
The AI is prompted to be honest but constructive, avoiding fake praise. It generates a 0-100 Score and assigns a Developer Level (Beginner, Intermediate, Advanced, Production-Ready).
- 📊 Smart Scoring Engine: Visualizes project health with a dynamic score ring.
- 🗺️ Personalized Roadmap: Generates specific tasks categorized by priority:
- 🔴 Fix Now: Critical issues (e.g., missing
.gitignore, sensitive data). - 🟡 Improve Soon: Best practices (e.g., adding CI/CD).
- 🟢 Learn Next: Advanced architecture patterns.
- 🔴 Fix Now: Critical issues (e.g., missing
- 📉 Detailed Metrics: Breakdown of scores across all 6 analyzed dimensions.
- ⚡ Modern Dashboard: A clean, responsive UI built with React, Tailwind CSS, and Shadcn UI.
Frontend
- Framework: React (Vite)
- Styling: Tailwind CSS + Shadcn UI
- State/Query: TanStack Query
- Visualization: Recharts
Backend
- Server: Node.js + Express
- AI Engine: OpenAI API
- Database: PostgreSQL
- ORM: Drizzle ORM
Follow these steps to run GitGrade locally.
- Node.js (v18+)
- PostgreSQL database
- OpenAI API Key
-
Clone the Repository
git clone [https://github.com/your-username/git-grade.git](https://github.com/your-username/git-grade.git) cd git-grade -
Install Dependencies
npm install
-
Environment Configuration Create a
.envfile in the root directory:DATABASE_URL=postgresql://user:password@localhost:5432/gitgrade OPENAI_API_KEY=sk-your-key-here PORT=5000
-
Setup Database Push the schema to your local database:
npm run db:push
-
Run the Application Start the development server (runs both frontend and backend):
npm run dev
Open
http://localhost:5000in your browser.