https://github.com/shravan20/gitalytics
Insights into any GitHub-hosted open source project
https://github.com/shravan20/gitalytics
Last synced: 5 months ago
JSON representation
Insights into any GitHub-hosted open source project
- Host: GitHub
- URL: https://github.com/shravan20/gitalytics
- Owner: shravan20
- License: mit
- Created: 2025-03-19T13:15:31.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-19T14:09:54.000Z (8 months ago)
- Last Synced: 2025-03-19T14:31:38.692Z (8 months ago)
- Size: 203 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📊 Gitalytics
> Powerful analytics and insights for GitHub repositories
Gitalytics; an instant insights into repository health, community engagement, and development activity.

## ✨ Features
- **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
## 🚀 Quick Start
### Prerequisites
- Node.js (v16 or higher)
- GitHub Personal Access Token
### Installation
1. Clone the repository:
```bash
git clone https://github.com/shravan20/gitalytics.git
cd gitalytics
```
2. Install dependencies:
```bash
npm install
```
3. Set up environment variables:
```bash
cp .env.example .env
```
4. Add your GitHub token:
- Go to [GitHub Settings > Developer Settings > Personal Access Tokens](https://github.com/settings/tokens)
- Create a new token with `repo` scope
- Copy the token to your `.env` file:
```
VITE_GITHUB_TOKEN=your_github_token_here
```
5. Start the development server:
```bash
npm run dev
```
6. Open [http://localhost:8080](http://localhost:8080) in your browser
## 🛠️ Tech Stack
- **Frontend Framework**: React with TypeScript
- **Styling**: Tailwind CSS + shadcn/ui
- **State Management**: React Query
- **Charts**: Recharts
- **Build Tool**: Vite
- **API**: GitHub REST API
## 📖 Usage
1. Enter a GitHub repository name in the format `owner/repository` (e.g., `facebook/react`)
2. View instant analytics including:
- Repository statistics
- Community health metrics
- Development activity
- Documentation status
### Example Repositories to Try
- `facebook/react`
- `tensorflow/tensorflow`
- `microsoft/vscode`
## 🤝 Contributing
Contributions are welcome! Here's how you can help:
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a Pull Request
## 📝 Documentation
Key components and their purposes:
- `Dashboard.tsx`: Main analytics dashboard component
- `githubService.ts`: GitHub API integration service
- `docsService.ts`: Documentation analysis service
- `Chart.tsx`: Reusable chart components
- `MetricCard.tsx`: Analytics metric display cards
## 🔑 API Rate Limits
- Without authentication: 60 requests/hour
- With authentication: 5,000 requests/hour
- Use a GitHub token to increase your rate limit
## 🚀 Performance Features
### Caching System
- **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
### Performance Optimizations
- **Parallel Data Fetching**: Concurrent API requests
- **Request Batching**: Grouped API calls
- **Error Recovery**: Automatic retries for failed requests
- **Rate Limit Handling**: Smart backoff strategy
## 🌟 Features Coming Soon
- [ ] Repository comparison
- [ ] Contributor insights
- [ ] Code quality metrics
- [ ] Custom date ranges
- [ ] PDF report export
- [ ] Team collaboration
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgments
- [GitHub REST API](https://docs.github.com/rest) for providing the data
- [shadcn/ui](https://ui.shadcn.com/) for beautiful UI components
- [Recharts](https://recharts.org/) for the charting library
## 📧 Contact
Shravan - [@shravan20](https://github.com/shravan20)
Project Link: [https://github.com/shravan20/gitalytics](https://github.com/shravan20/gitalytics)
---
Made with ❤️ in FOSS by [Shravan](https://github.com/shravan20)