Thanks to visit codestin.com
Credit goes to github.com

Skip to content

devndesigner6/gitstory-25

Repository files navigation

🎬 GitStory 2025

Your Year in Code β€” Cinematic Wrapped

React TypeScript Tailwind Vite Framer Motion

Transform your GitHub contributions into a stunning, Instagram Stories-style cinematic experience.


✨ Features

Feature Description
πŸŽ₯ Cinematic Experience 11 beautifully animated slides with Instagram Stories-like navigation
πŸ“Š Live GitHub Data Real-time stats fetched from GitHub API β€” commits, PRs, issues, reviews
🧬 Smart Archetypes AI-determined coding personas: Night Owl, Weekend Warrior, Grid Painter, and more
πŸ“ˆ Velocity Charts Animated contribution charts powered by Recharts
πŸ—“οΈ Contribution Grid Visual heatmap of your 2025 coding activity
πŸ† Top 5 Repositories Showcase your best projects with smart ranking
🎨 Language Breakdown Beautiful visualization of your tech stack (55+ languages!)
πŸ“± Mobile-First Touch gestures: tap left/right to navigate, hold to pause
πŸ” GitHub Token Support Optional authentication for private repos & org repos
πŸ–ΌοΈ Poster Export Download a shareable movie-poster style summary
🎊 Confetti Celebration End your story with style

πŸ†• What's New

πŸš€ Optimized API (v2.0)

  • With Token: Only 4 API calls (GraphQL bundles contributions + PR/Issue/Review counts!)
  • Without Token: 7 API calls (REST fallback)
  • 43% fewer API calls when authenticated!

Smart Repository Scoring

Projects are now ranked using 12 factors instead of just stars:

  • ⭐ Stars & Forks (logarithmic scale)
  • πŸ“… Recent activity in 2025 (time-decay bonus)
  • ✨ Original work (not forks)
  • πŸ“ Description & Topics
  • πŸ’» Primary language
  • πŸ“¦ Repository size
  • πŸ› Open issues (activity indicator)
  • πŸ†• Created in 2025 bonus
  • πŸ‘€ Watchers
  • πŸ“¦ Archived penalty

Smart Language Scoring

  • 🚫 Excludes forks (your own code only)
  • πŸ“… 2025 activity bonus (recent work counts more)
  • 🎯 Diversity bonus (3+ repos = extra weight)

GitHub Token Integration

  • πŸ” Optional token input with validation
  • βœ… "Connected as @username" badge with avatar
  • 🏒 Access to organization repositories
  • πŸ”’ Private contributions via GraphQL API
  • πŸ“ˆ 5000 API calls/hour (vs 60 without token)

Better Error Handling

  • 🟠 Rate limit errors with reset time
  • 🟑 User not found suggestions
  • πŸ”΄ Authentication error guidance
  • πŸ”„ Retry button for rate limits

🎬 Slides

Experience your year through 11 cinematic slides:

# Slide What It Shows
1 Title Your username & avatar with dramatic reveal
2 Velocity Animated area chart of daily commits
3 Grid Full-year contribution heatmap
4 Composition Breakdown: Commits vs PRs vs Issues vs Reviews
5 Routine Your busiest day of the week
6 Productivity Peak coding hours & time-of-day persona
7 Community Followers, stars, and repo count
8 Languages Top 3 programming languages
9 Top 5 Repos Your best repositories ranked by score
10 Top Repo Spotlight on your #1 repository
11 Poster 🎬 Downloadable movie poster with confetti!

🧬 Archetypes

Based on your behavior patterns, you'll be assigned one of these personas:

Archetype Criteria
πŸ”€ The Pull Request Pro Opens many PRs (>20% of activity)
πŸ‘€ The Reviewer Frequent code reviewer (>10% of activity)
πŸŒ™ The Night Owl Peak activity after 10 PM
πŸŒ… The Early Bird Peak activity before noon
πŸ—“οΈ The Weekend Warrior >35% commits on weekends
🎨 The Grid Painter 1200+ commits (green squares everywhere!)
⚑ The Consistent 400+ commits, steady contributor
πŸ“‹ The Planner High issue-to-commit ratio
⭐ The Community Star 500+ followers or 1000+ total stars
πŸ”§ The Tinkerer Default β€” you're exploring!

⚑ Quick Start

# Clone the repository
git clone https://github.com/devndesigner6/gitstory-25.git
cd gitstory-25

# Install dependencies
npm install

# Start development server
npm run dev

Open http://localhost:5173 and enter any GitHub username!

πŸ’‘ Tip: Type demo to see a full experience with mock data.


πŸ” Authentication (Optional)

For enhanced features, add a GitHub Personal Access Token:

  1. Click "Add GitHub Token (Optional)" on the home page
  2. Paste your token (starts with ghp_)
  3. See "Connected as @username" confirmation

Benefits with Token:

Feature Without Token With Token
Rate Limit 60/hour 5000/hour
Private Repos ❌ βœ…
Org Repos ❌ βœ…
Private Contributions ❌ βœ…

Create a token with correct scopes β†’


πŸ› οΈ Tech Stack

Technology Purpose
React 19 UI Components with latest features
TypeScript Type-safe development
Vite 6 Lightning-fast build tool
Tailwind CSS 4 Utility-first styling with @theme config
Framer Motion Buttery-smooth animations
Recharts Beautiful, responsive charts
Lucide React Consistent icon system
html-to-image Poster PNG export
canvas-confetti Celebration effects 🎊

πŸ“‘ API Usage

With Token (Optimized - 4 calls)

# Endpoint Purpose
1 /users/{username} Basic profile info
2 /user/repos All repos (org + private)
3 GraphQL Contributions + PRs + Issues + Reviews (4-in-1!)
4 /users/{username}/events Time-of-day patterns

Without Token (7 calls)

# Endpoint Purpose
1 /users/{username} Basic profile info
2 /users/{username}/repos Repository list
3 github-contributions-api Contribution heatmap
4 /users/{username}/events Time-of-day patterns
5 /search/issues?q=type:pr PR count for 2025
6 /search/issues?q=type:issue Issue count for 2025
7 /search/issues?q=reviewed-by: Review count for 2025

Rate Limits

Type Limit API Efficiency
Without Token 60/hour ~8 users/hour
With Token 5000/hour ~1250 users/hour

πŸ“± Controls

Touch Gestures (Mobile)

Action Effect
Tap right 2/3 Next slide
Tap left 1/3 Previous slide
Hold anywhere Pause timer
Release Resume timer

Keyboard Controls (Desktop)

Key Effect
β†’ or D Next slide
← or A Previous slide
Space Pause/Resume
Escape Exit story

πŸ—οΈ Project Structure

gitstory-25/
β”œβ”€β”€ index.html          # Entry point
β”œβ”€β”€ index.css           # Tailwind + custom styles
β”œβ”€β”€ index.tsx           # React root
β”œβ”€β”€ App.tsx             # Main app with landing page & token input
β”œβ”€β”€ types.ts            # TypeScript interfaces
β”œβ”€β”€ constants.ts        # Mock data & configuration
β”œβ”€β”€ vite.config.ts      # Vite configuration
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ githubService.ts      # GitHub API + GraphQL integration
β”‚   └── scoringAlgorithms.ts  # Modular scoring logic (languages, repos, archetypes)
└── components/
    β”œβ”€β”€ StoryContainer.tsx  # Slide navigation & gestures
    β”œβ”€β”€ SlideLayout.tsx     # Reusable slide wrapper
    β”œβ”€β”€ TextReveal.tsx      # Animated text component
    └── slides/
        β”œβ”€β”€ TitleSlide.tsx
        β”œβ”€β”€ VelocitySlide.tsx
        β”œβ”€β”€ GridSlide.tsx
        β”œβ”€β”€ CompositionSlide.tsx
        β”œβ”€β”€ RoutineSlide.tsx
        β”œβ”€β”€ ProductivitySlide.tsx
        β”œβ”€β”€ CommunitySlide.tsx
        β”œβ”€β”€ LanguagesSlide.tsx
        β”œβ”€β”€ TopReposSlide.tsx     # NEW: Top 5 repos
        β”œβ”€β”€ RepoSlide.tsx
        └── PosterSlide.tsx

πŸš€ Build & Deploy

# Production build
npm run build

# Preview production build
npm run preview

Deploy the dist/ folder to any static host:

  • Vercel (recommended)
  • Netlify
  • GitHub Pages
  • Cloudflare Pages

πŸ“„ License

MIT Β© 2025


Made with πŸ’œ for developers who ship

Star ⭐ this repo if you found it useful!

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors