KembaliArsip / superapp-github / github-all-in-one
superapp-github
github-all-in-one
1088 file · 157.8 MB
Sistem informasi live — github-all-in-one.vercel.appBuka di tab baru
README
github-all-in-one
Monorepo all-in-one untuk manajemen, monitoring, dan analisis ekosistem GitHub milik subkhanibnuaji. Dibangun dengan Next.js 16 App Router, TypeScript, Tailwind CSS v4, Prisma, SQLite, shadcn/ui, dan Octokit.
Modul & Fitur
1. GitHub Pages Dashboard (/)
- Monitoring real-time status GitHub Pages seluruh repository.
- Deteksi CNAME/custom domain, HTTPS, sertifikat, source branch.
- Uptime check dengan timeout & concurrency limit.
- Cache SQLite + auto-refresh setiap 60 detik.
- Search, filter, sort, dan halaman detail per repository.
2. Repository Management (/repositories, /categories, /settings)
- CRUD repository dengan data sync dari GitHub API.
- Kategorisasi, tagging, notes, dan priority.
- Bulk actions, export, dan analytics panel per repo.
- Prisma ORM dengan SQLite backend.
3. Analytics Intelligence (/analytics)
- KPI cards, Recharts visualisasi, heatmap aktivitas.
- Filter by phase, activity, language, visibility, contributors, commits, issues.
- Per-repo detail page dengan commit timeline & contributor analysis.
- Data dari
mega_analytics.json(snapshot 200 repo).
4. Ecosystem Intelligence (/intelligence)
- Executive summary, health matrix, architecture anatomy.
- Velocity tracker, top repositories, strategic recommendations.
- Framework & language breakdown dengan risk assessment.
5. Activity History (/history)
- GitHub productivity tracking dengan commit/PR/issue events.
- Range selector (7d / 30d / 90d / all time).
- Heatmap, productivity chart, dan event list dengan pagination.
- Auto-sync via GitHub Actions (
daily-sync.yml).
6. SiteMap Control (/sitemap-control)
- Manage & analyze pages across 200+ repositories.
- Page type, framework, status filtering.
- Vercel sync & legacy MapPage integration.
- Scan status panel & real-time stats.
7. Repo Analysis (/analysis)
- Deep forensic analytics untuk semua repo.
- Language breakdown, summary stats, dan insight strategis.
8. Changelog (/changelog)
- Auto-generated changelog berdasarkan timeline analytics.
9. Static Archives
02-github-curated— Kumpulan repo GitHub menarik (HTML/CSS/JS).03-career-hub— Career intelligence hub (salary, interview, remote work).04-training-materials— Jekyll + Reveal.js slideshow training.05-archive-deprecated— Backup deprecated projects.
Install
npm install
cp .env.example .env.local
npm run dev
Buka http://localhost:3000.
Environment Variables
GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxx
GITHUB_OWNER=subkhanibnuaji
GITHUB_OWNER_TYPE=user
DATABASE_PATH=./data/github-pages-dashboard.db
DATABASE_URL=file:./prisma/dev.db
UPTIME_TIMEOUT_MS=10000
MONITOR_CONCURRENCY=5
API Routes
GET /api/dashboard— Cache-only dashboard data.POST /api/refresh— Full GitHub fetch + uptime check.GET /api/health— App & database health check.GET /api/repo/[owner]/[repo]— Repo detail + history.GET /api/intelligence— Ecosystem intelligence.GET /api/analytics/overview— Analytics snapshot.POST /api/github/history/sync— History sync.POST /api/sitemap/sync— SiteMap bulk sync.
Deploy
Vercel
DATABASE_PATH=/tmp/github-pages-dashboard.db
DATABASE_URL=file:/tmp/dev.db
Tambahkan environment variables di Project Settings → Environment Variables.
VPS
DATABASE_PATH=/var/lib/github-all-in-one/github-pages-dashboard.db
npm run build
npm run start
Scripts
npm run dev— Development server.npm run build— Production build.npm run lint— ESLint.npx prisma migrate dev— Database migration.npx prisma db seed— Seed database.npx tsx scripts/fetch-history.ts— Manual history sync.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 + App Router + Turbopack |
| Language | TypeScript 5 |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Database | Prisma + SQLite + libsql |
| Query | TanStack React Query |
| Charts | Recharts + motion (animations) |
| Icons | Lucide React |
| GitHub API | Octokit REST |
License
MIT — Subkhan Ibnu Aji
File Utama
- .env.example
- .gitignore
- CHANGELOG.md
- DEPLOYMENT_RULES.md
- README.md
- components.json
- eslint.config.mjs
- next.config.ts