Skip to content

ella-yschoi/github-pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

64 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

GitHub Pulse

A GitHub repository analytics dashboard and reporting system for personal repositories

Home Dashboard


๐Ÿš€ Key Features

Frontend

  • GitHub OAuth Authentication: Secure login with NextAuth.js
  • Analytics Dashboard: KPI cards showing total stars, 14-day views, unique visitors, and repository count
  • Data Visualization: Interactive line charts and top repositories table with sparkline charts
  • Sharing Capabilities: Generate shareable links with custom OG images
  • Responsive Design: Modern UI built with Tailwind CSS
  • Weekly Reports: Generate and download PDF reports directly from the dashboard
  • Activity Summary by AI: OpenAI-powered summaries of recent repository activities (issues, PRs, commits)
  • Public Share Pages: External pages for sharing GitHub activity stats
  • Brand Copy Generation: Dynamic branding messages based on user metrics

Backend

  • GitHub API Integration: Data collection from GitHub REST API for user-owned repositories
  • PDF Report Generation: Create detailed weekly reports using Puppeteer
  • AI Summary Generation: OpenAI GPT-4o-mini integration for intelligent activity summaries
  • Data Filtering: Analyze only user-owned repositories (excludes forks and organizations)
  • Error Handling: Graceful degradation with rate limit handling and retry logic
  • Memory Caching: 5-minute TTL caching for improved performance
  • Health Monitoring: Server health check endpoints

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Next.js 15.5.3 (App Router)
  • React 19.1.0 + React DOM
  • TypeScript ^5
  • Tailwind CSS ^4
  • NextAuth.js ^4.24.11 (GitHub OAuth)
  • TanStack Query ^5.87.4 (Data fetching)
  • Recharts ^3.2.0 (Data visualization)
  • @vercel/og ^0.8.5 (OG image generation)
  • OpenAI ^4.58.0 (AI-powered activity summaries)

Backend

  • Express.js ^4.18.2 (Node.js)
  • TypeScript ^5.3.3
  • Puppeteer ^21.6.1 (PDF generation)
  • Axios ^1.6.2 (HTTP client)

๐Ÿ”ง Development Setup

1. Environment Variables

Frontend (.env.local)

GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
NEXTAUTH_SECRET=your_nextauth_secret
NEXTAUTH_URL=https://github-pulse.vercel.app
OPENAI_API_KEY=your_openai_api_key

Backend (.env)

GITHUB_TOKEN=your_github_personal_access_token
PORT=3001
FRONTEND_URL=https://github-pulse.vercel.app

2. Install Dependencies

# Root directory
npm install

# Frontend
cd apps/web
npm install

# Backend
cd apps/backend
npm install

3. Start Development Servers

# Frontend (Port 3000)
cd apps/web
npm run dev

# Backend (Port 3001)
cd apps/backend
npm run start

About

๐Ÿ“ˆ Your GitHub Activity Dashboard

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published