Automated tracker for Nintendo Switch homebrew projects that generates a JSON file with project information and firmware requirements.
- 🔄 Automated Updates: Runs every 6 hours via GitHub Actions
- 📊 GitHub Integration: Fetches project data from GitHub repositories
- ⚙️ Configurable: Easy project and firmware management
- 📁 Structured Output: Generates standardized JSON format
- 🌐 Modern Web Interface: Beautiful, responsive React webapp
- 📱 Mobile Friendly: Works perfectly on all devices
# Install dependencies npm install # Run tracker npm start # Add new project npm run add "owner/repo" "firmware_version"projects: - repo: "THZoria/NX_Firmware" - repo: "Atmosphere-NX/Atmosphere"firmware_requirements: NX_Firmware: "20.2.0" Atmosphere: "20.2.0" default_firmware: "20.2.0"{ "projects": [ { "name": "NX_Firmware", "author": "THZoria", "authorAvatar": "https://avatars.githubusercontent.com/u/12345678?v=4", "authorUrl": "https://github.com/THZoria", "projectUrl": "THZoria/NX_Firmware", "projectFullUrl": "https://github.com/THZoria/NX_Firmware", "description": "Nintendo Switch firmware files and tools", "language": "C", "stars": 1500, "forks": 250, "lastUpdated": "2024-01-15T10:30:00Z", "createdAt": "2020-03-15T08:00:00Z", "latestVersion": "v20.2.0", "latestReleaseUrl": "https://github.com/THZoria/NX_Firmware/releases/tag/v20.2.0", "latestReleaseDate": "2024-01-10T15:45:00Z", "requiredFirmware": "20.2.0" } ] }| Field | Description |
|---|---|
name | Repository name |
author | GitHub username of the author |
authorAvatar | URL to author's avatar image |
authorUrl | URL to author's GitHub profile |
projectUrl | Repository path (owner/repo) |
projectFullUrl | Full GitHub repository URL |
description | Repository description |
language | Primary programming language |
stars | Number of stars |
forks | Number of forks |
lastUpdated | Last repository update timestamp |
createdAt | Repository creation timestamp |
latestVersion | Latest release version tag |
latestReleaseUrl | URL to latest release |
latestReleaseDate | Latest release publication date |
requiredFirmware | Minimum required Switch firmware |
| Command | Description |
|---|---|
npm start | Run the tracker and generate JSON |
npm run add "owner/repo" "firmware" | Add new project to configuration |
A modern, professional web interface is included in the webapp/ directory, built with vanilla HTML/CSS/JavaScript for optimal performance:
cd webapp # Open directly in browser open index.html # Or use a local server python3 -m http.server 8000The webapp provides:
- Modern UI/UX with professional design and smooth animations
- Dark mode support with automatic theme detection
- Real-time search through projects with instant results
- Advanced filtering by language and multiple sorting options
- Rich project cards with detailed information and hover effects
- Responsive design optimized for all devices (desktop, tablet, mobile)
- Keyboard navigation with full accessibility support
- Performance optimized with lazy loading and efficient rendering
- Automatic deployment to GitHub Pages
🌐 Live Demo: View the webapp
The project includes a GitHub Actions workflow that:
- Runs every 6 hours automatically
- Updates
output/projects.json - Commits changes to the repository
GITHUB_TOKEN(optional): GitHub personal access token for higher API rate limits- GitHub Actions: Uses
${{ secrets.GITHUB_TOKEN }}automatically (limited to 1000 requests/hour) - Local development: Set your own token for higher limits (5000 requests/hour)
- GitHub Actions: Uses
📖 Detailed documentation: See docs/GITHUB_TOKEN.md for complete setup instructions.
MIT License