System Index
Valikko

ProjectPulse

GitHub-repositorioiden analytiikkaa tallennetuista snapshot-tiedoista live-kyselyiden sijaan.

ProjectPulse-järjestelmän kansikuva

Yleiskuva

ProjectPulse on julkisten GitHub-repositorioiden engineering-analytiikkaan tarkoitettu dashboard. Se kerää repositorioiden tilaa taustalla ja tallentaa havainnot PostgreSQL:ään, jolloin näkymät, trendit ja aktiviteettihistoria voidaan muodostaa pysyvästä datasta ilman GitHubin jatkuvaa kyselyä sivulatausten yhteydessä. Next.js-frontend käyttää NestJS-rajapintaa, ja erillinen worker suorittaa synkronoinnin Redis- ja BullMQ-jonojen kautta. Ajan myötä kertyvät snapshotit mahdollistavat useiden projektien historiallisen seurannan.

Arkkitehtuuri

ProjectPulsen arkkitehtuuri: Next.js-frontend, NestJS API, PostgreSQL-snapshotit, Redis ja BullMQ-worker

Tekninen toteutus

Synkronointi on erotettu käyttöliittymän lukupyynnöistä taustajonoilla, joissa on deduplikointi, retryt ja backoff. Dashboard- ja repositoriosnapshotit tallennetaan transaktionaalisesti, joten olemassa oleva analytiikka säilyy käytettävissä myös epäonnistuneen GitHub-päivityksen aikana. Historialliset näkymät muodostetaan tallennetuista havainnoista sen sijaan, että menneitä arvoja yritettäisiin päätellä repositorion nykytilasta.