Advanced GitHub Profile Analysis Platform - Comprehensive insights, scoring, and AI-powered recommendations for developers to optimize their GitHub presence.
π Try it now! - Experience the full power of GitHub Profile Analyzer with real-time analysis.
Demo Features:
- β Real-time Analysis: Analyze any GitHub profile instantly
- β Interactive Dashboard: Explore comprehensive insights and metrics
- β Multi-language Support: English and Turkish interface
- β Responsive Design: Works perfectly on all devices
- β Advanced Scoring: Multi-dimensional profile evaluation
π‘ Pro Tip: Try analyzing popular developers like
torvalds,gaearon, orvercelto see the full potential!
- Multi-dimensional Scoring System: Activity, Contribution, Popularity, Quality, and Diversity metrics
- Real-time Data Processing: Live GitHub API integration for up-to-date information
- Advanced Algorithms: Sophisticated scoring algorithms based on industry best practices
- Rate Limit Management: Intelligent API request handling with rate limit awareness
- Interactive Charts: Programming language distribution and repository activity visualization using Chart.js
- Score Cards: Color-coded performance indicators with detailed descriptions
- Responsive Design: Optimized for all devices and screen sizes
- Smooth Animations: Framer Motion powered UI transitions and micro-interactions
- Personalized Insights: AI-powered suggestions based on profile analysis
- Actionable Advice: Specific, implementable recommendations for profile improvement
- Progress Tracking: Monitor improvements over time
- Multi-language Support: English and Turkish with easy language switching
- Localized Content: Culturally adapted messaging and terminology
- Extensible Framework: Easy to add new languages
- Heroicons Integration: Beautiful, consistent icon library
- Tailwind CSS: Utility-first CSS framework for rapid development
- Framer Motion: Smooth animations and transitions
- Responsive Layout: Mobile-first design approach
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 14.2.31 | Full-stack React framework with API routes |
| TypeScript | 5.6.3 | Type-safe development and better DX |
| Tailwind CSS | 3.4.17 | Utility-first CSS framework |
| Heroicons | 2.1.5 | Beautiful, consistent icon library |
| Chart.js | 4.4.3 | Interactive data visualization |
| Framer Motion | 12.23.12 | Smooth animations and transitions |
| Axios | 1.7.9 | HTTP client for API requests |
| GitHub API | v3 | Real-time GitHub data integration |
- Node.js 18.0 or higher
- npm 9.0 or higher
- Git for version control
-
Clone the repository
git clone https://github.com/sametgurtuna/github-rater.git cd github-rater -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Configure your
.env.local:GITHUB_TOKEN=your_github_personal_access_token NEXT_PUBLIC_APP_URL=http://localhost:3000
-
Run the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
-
Enter GitHub Username
- Type any valid GitHub username in the search field
- Examples:
torvalds,gaearon,vercel
-
Analyze Profile
- Click "Analyze" or press Enter
- Wait for real-time data processing
-
Review Results
- Score Cards: Overall performance metrics
- Charts: Visual data representation
- Insights: AI-generated recommendations
- Repository List: Top projects and activity
| Metric | Description | Weight |
|---|---|---|
| Overall | Weighted average of all criteria | 100% |
| Activity | Account age and update frequency | 25% |
| Contribution | Repository count and fork contributions | 20% |
| Popularity | Followers and star count | 20% |
| Quality | Project documentation and features | 20% |
| Diversity | Different languages and topics | 15% |
- 90-100: π Exceptional - Elite developer status
- 80-89: π Excellent - Outstanding performance
- 70-79: π Good - Above average developer
- 60-69:
β οΈ Average - Room for improvement - Below 60: π΄ Needs Work - Significant improvement required
| Variable | Description | Required | Default |
|---|---|---|---|
GITHUB_TOKEN |
GitHub Personal Access Token | Yes | - |
NEXT_PUBLIC_APP_URL |
Application URL | No | http://localhost:3000 |
NODE_ENV |
Environment mode | No | development |
- Go to GitHub Settings > Developer settings > Personal access tokens
- Click "Generate new token (classic)"
- Select scopes:
public_repo- Access public repositoriesread:user- Read user profile dataread:org- Read organization data
- Copy the token and add it to your
.env.local
github-rater/
βββ app/ # Next.js 13+ app directory
β βββ api/ # API routes
β β βββ analyze/ # Profile analysis endpoint
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout
β βββ page.tsx # Home page
βββ components/ # React components
β βββ ActivityChart.tsx # Repository activity visualization
β βββ InsightsPanel.tsx # AI insights display
β βββ LanguageChart.tsx # Programming languages chart
β βββ ProfileHeader.tsx # User profile header
β βββ RecommendationsPanel.tsx # Improvement suggestions
β βββ RepositoriesList.tsx # Repository listing
β βββ ScoreCard.tsx # Individual score display
β βββ ProfileAnalyzer.tsx # Main analysis component
β βββ LanguageSwitcher.tsx # Language toggle
βββ contexts/ # React contexts
β βββ LanguageContext.tsx # Internationalization
βββ locales/ # Translation files
β βββ en.json # English translations
β βββ tr.json # Turkish translations
βββ services/ # Business logic
β βββ github.ts # GitHub API integration
βββ types/ # TypeScript type definitions
β βββ github.ts # GitHub data types
βββ public/ # Static assets
-
Create translation file
// locales/fr.json { "site": { "title": "Analyseur de Profil GitHub", "description": "Analysez votre profil GitHub..." } }
-
Update LanguageContext
// contexts/LanguageContext.tsx const languages = { en: 'English', tr: 'Turkish', fr: 'FranΓ§ais' // Add new language };
Modify the scoring logic in services/github.ts:
const calculateScore = (data: GitHubData): Score => {
return {
activity: calculateActivityScore(data),
contribution: calculateContributionScore(data),
popularity: calculatePopularityScore(data),
quality: calculateQualityScore(data),
diversity: calculateDiversityScore(data),
overall: calculateOverallScore(data)
};
};-
Connect Repository
- Push code to GitHub
- Connect repository to Vercel
-
Configure Environment
- Add
GITHUB_TOKENto Vercel environment variables - Set
NEXT_PUBLIC_APP_URLto your domain
- Add
-
Deploy
- Vercel automatically deploys on push
- Custom domain configuration available
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]docker build -t github-profile-analyzer .
docker run -p 3000:3000 github-profile-analyzerWe welcome contributions! Here's how you can help:
- Fork the repository
- Create feature branch
git checkout -b feature/amazing-feature
- Make changes and commit
git commit -m 'Add amazing feature' - Push to branch
git push origin feature/amazing-feature
- Open Pull Request
- Code Style: Follow existing TypeScript and React patterns
- Testing: Add tests for new features
- Documentation: Update README and code comments
- Commits: Use conventional commit messages
- π¨ UI/UX Improvements: Better designs and animations
- π§ Performance: Optimize API calls and rendering
- π Internationalization: Add more languages
- π Analytics: Enhanced metrics and insights
- π Security: Security audits and improvements
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- Bundle Size: < 200KB (gzipped)
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3s
- Rate Limiting: GitHub API request throttling with intelligent handling
- Input Validation: Sanitized user inputs
- CORS Protection: Configured for production domains
- Environment Variables: Secure credential management
- β Multi-language support (EN/TR)
- β Advanced scoring algorithms
- β Responsive dashboard with animations
- β GitHub API integration with rate limiting
- β Interactive charts and visualizations
- π Team profile analysis
- π Historical data tracking
- π Export functionality
- π Advanced charts and metrics
- π AI-powered insights
- π Integration with other platforms
- π Mobile app
- π API for developers
Rate Limit Exceeded
Error: API rate limit exceededSolution: Wait for rate limit reset or use authenticated requests
User Not Found
Error: User not foundSolution: Verify username spelling and account existence
Build Errors
Error: TypeScript compilation failedSolution: Run npm run type-check for detailed errors
Enable debug logging:
DEBUG=* npm run devThis project is licensed under the MIT License - see the LICENSE file for details.
- GitHub API for providing comprehensive developer data
- Next.js Team for the amazing framework
- Tailwind CSS for the utility-first CSS approach
- Chart.js for beautiful data visualizations
- Heroicons for consistent iconography
- Framer Motion for smooth animations
- Email: [email protected]