Powerful analytics and insights for GitHub repositories
Gitalytics; an instant insights into repository health, community engagement, and development activity.
-
Repository Overview
- Stars, forks, and watchers count
- Language statistics
- License information
- Topics and tags
-
Community Insights
- Active contributors
- Issue resolution times
- PR merge rates
- Community engagement metrics
-
Development Activity
- Commit frequency
- Code additions/deletions
- Release history
- Branch activity
-
Documentation Health
- Documentation completeness score
- Essential files check (README, LICENSE, etc.)
- Contributing guidelines status
- Issue/PR templates verification
- Node.js (v16 or higher)
- GitHub Personal Access Token
-
Clone the repository:
git clone https://github.com/shravan20/gitalytics.git cd gitalytics -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.example .env
-
Add your GitHub token:
-
Go to GitHub Settings > Developer Settings > Personal Access Tokens
-
Create a new token with
reposcope -
Copy the token to your
.envfile:VITE_GITHUB_TOKEN=your_github_token_here
-
-
Start the development server:
npm run dev
-
Open http://localhost:8080 in your browser
- Frontend Framework: React with TypeScript
- Styling: Tailwind CSS + shadcn/ui
- State Management: React Query
- Charts: Recharts
- Build Tool: Vite
- API: GitHub REST API
- Enter a GitHub repository name in the format
owner/repository(e.g.,facebook/react) - View instant analytics including:
- Repository statistics
- Community health metrics
- Development activity
- Documentation status
facebook/reacttensorflow/tensorflowmicrosoft/vscode
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
Key components and their purposes:
Dashboard.tsx: Main analytics dashboard componentgithubService.ts: GitHub API integration servicedocsService.ts: Documentation analysis serviceChart.tsx: Reusable chart componentsMetricCard.tsx: Analytics metric display cards
- Without authentication: 60 requests/hour
- With authentication: 5,000 requests/hour
- Use a GitHub token to increase your rate limit
- IndexedDB Storage: Local caching of API responses
- Cache Duration: 15-minute expiration
- Smart Caching: Caches both successful responses and 404s
- Manual Control: Clear cache button in UI
- Parallel Data Fetching: Concurrent API requests
- Request Batching: Grouped API calls
- Error Recovery: Automatic retries for failed requests
- Rate Limit Handling: Smart backoff strategy
- Repository comparison
- Contributor insights
- Code quality metrics
- Custom date ranges
- PDF report export
- Team collaboration
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub REST API for providing the data
- shadcn/ui for beautiful UI components
- Recharts for the charting library
Shravan - @shravan20
Project Link: https://github.com/shravan20/gitalytics
Made with ❤️ in FOSS by Shravan