How razame/commit-pulse works
CommitPulse is a developer-activity tracker: users connect GitHub, commit and repository data is synced, and weekly insights appear in dashboards and public profiles. The worker source shows daily GitHub collection and API transfer; sampled Laravel controllers show persistence and statistics reads, while the README documents weekly email digests and additional insight features. Several job and frontend data-fetching connections are not shown in sampled source, so those links are omitted.
Main entry points: main.js Vue application · Dashboard.vue Dashboard · StatsController.php Weekly statistics API · CommitsController.php Commit ingestion
Components 23
Web experience
- Vue application
frontend/src/main.js - Dashboard
frontend/src/pages/Dashboard.vue - Settings
frontend/src/pages/Settings.vue - Public profile
frontend/src/pages/PublicProfile.vue - Insight charts
frontend/src/components/WeeklyChart.vue - Stat cards
frontend/src/components/StatCard.vue - Language chart
frontend/src/components/LanguagesChart.vue - Login page
frontend/src/pages/Login.vue
Identity and API
- GitHub OAuth
backend/app/Http/Controllers/Auth/GithubController.php - API routes
backend/routes/api.php - Worker key check
backend/app/Http/Middleware/VerifyWorkerApiKey.php
Activity sync
- Sync worker
worker/main.go - Commit ingestion
backend/app/Http/Controllers/API/CommitsController.php - Repositories
backend/app/Models/Repository.php - Commits
backend/app/Models/Commit.php
Insights and delivery
- Weekly statistics API
backend/app/Http/Controllers/API/StatsController.php - Weekly aggregation
backend/app/Jobs/GenerateWeeklyStatsJob.php - Weekly statistics
backend/app/Models/WeeklyStat.php - Public profile API
backend/app/Http/Controllers/PublicProfileController.php - Email digest
backend/app/Jobs/SendWeeklyDigestEmail.php - Digest template
backend/resources/views/emails/weekly-digest.blade.php
Other components
- Developer
- GitHub
Connections 24
- Developer → Vue application: uses
- Vue application → Login page: routes
- Vue application → Dashboard: routes
- Vue application → Settings: routes
- Vue application → Public profile: routes
- Login page → GitHub OAuth: starts OAuth
- GitHub OAuth → GitHub: authenticates with
- Sync worker → API routes: requests users
- Sync worker → GitHub: fetches activity
- Sync worker → Commit ingestion: posts sync data
- Commit ingestion → Repositories: upserts
- Commit ingestion → Commits: upserts
- Worker key check → Commit ingestion: guards request
- Dashboard → Weekly statistics API: requests stats
- Weekly statistics API → Commits: reads
- Weekly statistics API → Repositories: reads
- Weekly statistics API → Weekly statistics: returns summary
- Public profile → Public profile API: requests profile
- Public profile API → Weekly statistics: reads
- Dashboard → Insight charts: displays insights
- Dashboard → Stat cards: displays totals
- Dashboard → Language chart: displays languages
- Weekly aggregation → Weekly statistics: generates
- Email digest → Digest template: renders