{"id":21554336,"url":"https://github.com/ghost-land/stats-web","last_synced_at":"2026-05-21T10:01:44.693Z","repository":{"id":263048837,"uuid":"883804835","full_name":"ghost-land/Stats-Web","owner":"ghost-land","description":"Tinfoil download statistics for NX Server","archived":false,"fork":false,"pushed_at":"2025-01-12T22:07:03.000Z","size":303,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T10:11:23.404Z","etag":null,"topics":["javascript","nx","statistics","typescript"],"latest_commit_sha":null,"homepage":"https://stats.ghostland.at","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ghost-land.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-05T15:48:41.000Z","updated_at":"2025-01-12T22:07:06.000Z","dependencies_parsed_at":"2024-11-15T20:29:25.286Z","dependency_job_id":"55e3cbc4-2d9b-4b35-8c7a-b51aa61cde8b","html_url":"https://github.com/ghost-land/Stats-Web","commit_stats":null,"previous_names":["ghost-land/stats-web"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghost-land%2FStats-Web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghost-land%2FStats-Web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghost-land%2FStats-Web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghost-land%2FStats-Web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ghost-land","download_url":"https://codeload.github.com/ghost-land/Stats-Web/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244146801,"owners_count":20405894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nx","statistics","typescript"],"created_at":"2024-11-24T07:14:24.489Z","updated_at":"2026-05-21T10:01:39.643Z","avatar_url":"https://github.com/ghost-land.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Game Stats Website 📊\n\nA modern web application for tracking and analyzing game download statistics.\n\nhttps://github.com/user-attachments/assets/0cd9f3c3-e986-46ec-a2af-36aff6a3c1ab\n\n## ✨ Features\n\n- 📈 Real-time download statistics tracking\n- 🎨 Beautiful, responsive UI with dark mode support\n- 📊 Interactive charts and visualizations\n- 🔍 Advanced search functionality with filters\n- ⏱️ Period-based statistics (72h, 7d, 30d, all-time)\n- 🎮 Detailed game information pages\n- 📱 Mobile-friendly design\n- 🌐 Public REST API\n- 💾 Direct database access for offline analysis\n- 📊 Pre-calculated analytics\n- 🏆 Real-time rankings\n- 📈 Growth rate tracking\n- 📦 Content type filtering (Base Games, Updates, DLC)\n- 📅 Custom date range filtering\n- 📊 Advanced analytics dashboard\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js 18.x or higher\n- npm or yarn package manager\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/ghost-land/Stats-Web.git\ncd Stats-Web\n```\n\n2. Install dependencies:\n```bash\nnpm install\n```\n\n3. Place your data files in the `/data` directory.\n\n## 🛠️ Development\n\nRun the development server:\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\n## 🌐 API Access\n\nThe project provides a comprehensive REST API for accessing game statistics. All endpoints are publicly available without authentication.\n\n### Base URL\n```\nhttps://your-domain.com\n```\n\n### Database Access\nFor offline analysis or personal projects, you can download the complete SQLite database:\n```\nhttps://your-domain.com/games.db\n```\n\n### Rate Limits\n- 100 requests per minute per IP\n- Analytics data cached for 5 minutes\n- Game data cached for 1 hour\n- Rankings updated hourly\n\n### Available Endpoints\n\n#### Analytics\n- `GET /api/analytics` - Get detailed analytics with various filters\n- `GET /api/stats` - Get global statistics\n\n#### Games\n- `GET /api/games` - Get all games with statistics\n- `GET /api/games/[tid]` - Get details for a specific game\n- `GET /api/search` - Search games by name or TID\n\n#### Rankings\n- `GET /api/rankings/[tid]` - Get rankings for a specific game\n- `GET /api/top/[period]` - Get top games by period\n\n#### System\n- `GET /api/uptime` - Get server uptime information\n\nFor detailed API documentation, visit `/api/docs` in your browser.\n\n## 🔧 Environment Variables\n\nAll environment variables are configured in `ecosystem.config.js`:\n\n- `NEXT_PUBLIC_API_URL`: Base URL for the API\n- `NEXT_PUBLIC_WORKING_JSON_URL`: URL for the working.json file\n- `NEXT_PUBLIC_TITLES_DB_URL`: URL for the titles database\n- `REINDEX_INTERVAL`: Interval for reindexing data (default: 3600000 - 1 hour)\n- `DATA_DIR`: Directory path for game data files\n\n## 🚀 Deployment\n\n1. Install dependencies and build:\n```bash\n# Install Node.js and PM2\ncurl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -\nsudo apt-get install -y nodejs nginx\nsudo npm install -g pm2\n\n# Set up application\ncd /var/www/game-stats\nnpm install\nnpm run build\n\n# Configure data directory\nsudo mkdir -p data\nsudo chown -R $USER:$USER data\n```\n\n2. Configure PM2 with ecosystem.config.js:\n```bash\n# Start application with PM2\npm2 start ecosystem.config.js\npm2 startup \u0026\u0026 pm2 save\n```\n\n## 📝 License\n\nThis project is licensed under the GPL-3.0 License - see the [LICENSE](LICENSE) file for details.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## 📫 Support\n\nFor support or questions, please open an issue in the [GitHub repository](https://github.com/ghost-land/Stats-Web/issues).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghost-land%2Fstats-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fghost-land%2Fstats-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghost-land%2Fstats-web/lists"}