A modern web application built with Next.js 15 that visualizes GitHub profile statistics through interactive charts and comprehensive data displays.
Gitnalyzer provides an intuitive interface for exploring GitHub user profiles, offering detailed analytics and visualizations of repository data, programming language distributions, and contribution metrics. The application leverages the GitHub REST API to deliver real-time insights with a polished, responsive user interface.
- User Profile Search - Retrieve and display comprehensive GitHub user information
- Interactive Data Visualization - Dynamic charts showcasing language usage and repository statistics
- Modern UI Design - Built with Radix UI components and Tailwind CSS for a professional aesthetic
- Animated Interface Elements - Subtle aurora and beam animations enhance visual engagement
- Responsive Layout - Optimized experience across desktop, tablet, and mobile devices
- Performance Optimized - Leverages Next.js 15 with Turbopack for rapid load times
- Repository Insights - Highlights top repositories by star count with detailed metrics
- Comprehensive Profile Data - Displays followers, bio, location, company affiliation, and more
- Public API Access - No authentication required for basic usage (60 requests/hour limit)
- Framework: Next.js 15.5.6 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI with shadcn/ui
- Data Visualization: Recharts
- Animation Library: Framer Motion
- Data Source: GitHub REST API v3
- Icon Libraries: Lucide React and Tabler Icons
- Node.js 18.0 or higher
- Package manager: npm, yarn, pnpm, or bun
- Clone the Repository
git clone https://github.com/Blazehue/Gitnalyzer.git
cd Gitnalyzer- Install Dependencies
npm install --legacy-peer-deps
# or
yarn install
# or
pnpm install- Start Development Server
npm run dev
# or
yarn dev
# or
pnpm dev- Access Application Navigate to http://localhost:3000 in your web browser
- Enter a valid GitHub username in the search field (examples:
torvalds,gaearon,vercel) - Submit the search query by clicking the search button or pressing Enter
- View the generated analytics including:
- User profile information (avatar, biography, location, company)
- Account statistics (repository count, followers, following)
- Programming language distribution chart
- Top 6 repositories ranked by stars
- Account registration date
gitnalyzer/
├── src/
│ ├── app/
│ │ ├── layout.tsx # Application root layout
│ │ ├── page.tsx # Main page component
│ │ └── globals.css # Global stylesheet
│ ├── components/
│ │ ├── GitHubStatsVisualizer.tsx # Primary application component
│ │ ├── LanguageChart.tsx # Language distribution chart
│ │ ├── RepoCards.tsx # Repository card grid
│ │ └── ui/ # Reusable UI component library
│ ├── services/
│ │ └── githubService.ts # GitHub API integration layer
│ └── lib/
│ └── utils.ts # Utility functions
├── public/ # Static asset directory
├── package.json
├── tsconfig.json
├── tailwind.config.ts
└── next.config.ts
Primary application component responsible for state management and orchestrating data flow between child components.
Interactive donut chart component that visualizes the distribution of programming languages across a user's repositories.
Grid-based component displaying repository cards with metrics including stars, forks, and primary language.
The application interfaces with the public GitHub API under the following constraints:
- Unauthenticated Requests: 60 requests per hour per IP address
- Authenticated Requests: 5,000 requests per hour (recommended for production environments)
To increase API rate limits and ensure optimal performance:
-
Generate Personal Access Token:
- Navigate to: https://github.com/settings/tokens
- Create new token (classic)
- Select
public_reposcope (or no scopes for public data access only) - Copy the generated token
-
Configure Environment Variables: Create a
.env.localfile in the project root:
NEXT_PUBLIC_GITHUB_TOKEN=your_github_personal_access_token- Restart Development Server:
npm run devThe GitHub service automatically utilizes the configured token without requiring code modifications.
For comprehensive setup instructions, refer to RATE_LIMIT_SOLUTION.md
npm run dev # Launch development server with Turbopack
npm run build # Create production build
npm run start # Start production server
npm run lint # Execute ESLint code analysis- Commit and push code to GitHub repository
- Import repository into Vercel dashboard
- Configure environment variables if using GitHub token
- Deploy application
This Next.js application is compatible with:
- Netlify
- Railway
- Render
- AWS Amplify
- Any Node.js-compatible hosting provider
Contributions are welcome and appreciated. Please refer to the CONTRIBUTING.md file for contribution guidelines and code standards.
This project is licensed under the MIT License. See the LICENSE file for complete details.
Blazehue
- GitHub: @Blazehue
- Repository: Gitnalyzer
- Next.js - React-based web framework
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible component primitives
- shadcn/ui - Component library built on Radix UI
- GitHub API - Data provider
Maintained by Blazehue | If you find this project valuable, please consider starring the repository.