ProjectPulse
GitHub-repositorioiden analytiikkaa tallennetuista snapshot-tiedoista live-kyselyiden sijaan.
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
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.