SYNC.API

// engineering portfolio sync backend

GitHub is the source.
Firestore is the mirror.

Every repository with a project.json gets scanned, validated, and merged with live GitHub metadata — stars, forks, topics, license, last commit — into one document your site can read without ever touching GitHub directly.

GitHub Sync API Firestore Read API Site

live signal path — the website never queries GitHub directly

API Status
checking…
GitHub Link
checking…
Firestore Link
checking…
Last Sync

Endpoints

6 routes
GET/api/status

Health check: version, uptime, GitHub & Firestore connectivity, last successful sync.

POST/api/sync

Scans every repository, validates project.json, merges GitHub metadata into Firestore.

🔒 requires API secret
GET/api/projects

Every synced project, ready for a portfolio grid or list view.

GET/api/project?slug=

A single project document, looked up by its slug.

GET/api/categories

Distinct categories and subcategories, with project counts for each.

GET/api/stats

Aggregate totals: projects, stars, forks, technologies, categories.

What happens on sync

01

Scan

Every public, non-fork repository on the account is listed from GitHub.

02

Filter

Repos without a project.json, or with an invalid one, are skipped — never fatal.

03

Compare

If GitHub's updated_at matches the last sync, the repo is skipped as unchanged.

04

Merge

GitHub metadata and project.json are combined into one Firestore document.