Discover and analyze trending GitHub repositories with a beautiful, modern interface.
Live Demo · Report Bug · Request Feature
A modern web application for discovering trending GitHub repositories. Features real-time data fetching, multiple view modes, export capabilities, and a sleek dark theme interface.
| Feature | Description |
|---|---|
| Real-time Data | Live GitHub API integration for trending repositories |
| Dual View Modes | Table view for data analysis, Card view for visual browsing |
| Smart Filtering | Filter by categories, keywords, and 20+ attributes |
| Export Options | Download as CSV, JSON, or copy to clipboard |
| Dark Theme | Modern glassmorphism design with smooth animations |
| Bilingual | Full English and Chinese language support |
- Node.js 16+
- GitHub Personal Access Token (Get one here)
# Clone the repository
git clone https://github.com/encoreshao/github-trending.git
cd github-trending
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser.
- Navigate to Live Demo (
/demo) - Enter your GitHub token in the Settings panel
- Select the fields you want to display
- Click Fetch Data to load trending repositories
- Switch between Table and Card views
- Export your data as needed
| Route | Description |
|---|---|
/ |
Homepage with feature highlights |
/demo |
Interactive repository analysis tool |
/subscribe |
Category-based subscription setup |
- Frontend: React 18, Vite, Ant Design 5
- Styling: CSS3 with glassmorphism effects
- API: GitHub REST API
- Data: axios, papaparse, file-saver
src/
├── api/ # GitHub API integration
├── components/ # Reusable UI components
│ ├── Header # Navigation bar
│ ├── Footer # Site footer
│ ├── RepoTable # Table view component
│ ├── RepoCard # Card view component
│ └── Settings # Configuration panel
├── pages/ # Route pages
│ ├── HomePage
│ ├── DemoPage
│ └── SubscriptionPage
├── locales/ # i18n translations
└── utils/ # Helper functions
For automated data collection:
# Set up environment
echo "GITHUB_TOKEN=your_token" > .env
# Run the script
node index.jsOutput files are saved to docs/YYYY/MM/ as Markdown, JSON, and CSV.
# Daily at 9 AM
0 9 * * * cd /path/to/github-trending && node index.jsSettings are automatically saved in localStorage:
- GitHub Token - Your personal access token (stored locally)
- Display Fields - Choose from 20+ repository attributes
- Page Size - Number of repos per page (1-100)
- Language - English or Chinese
| Basic | URLs | Dates | Stats |
|---|---|---|---|
| Name | HTML URL | Created | Stars |
| Owner | Git URL | Updated | Forks |
| Avatar | SSH URL | Pushed | Issues |
| Description | Clone URL | Size | |
| Topics | SVN URL | Language | |
| License | Homepage |
| Issue | Solution |
|---|---|
| Rate limit exceeded | Ensure valid GitHub token with public_repo scope |
| No data returned | Verify token and network connectivity |
| Build errors | Run rm -rf node_modules && npm install |
- Fork the repository
- Create your 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
MIT License - see LICENSE for details.
Made with ❤️ by RanBOT Labs