Skip to content

KrrishSR4/Github-Email-Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

GitHub Contact Finder

Build Status License: MIT Version Next.js TypeScript Redux

πŸ“ Overview

GitHub Contact Finder is a powerful, streamlined tool designed to help recruiters, developers, and researchers bridge the gap between GitHub profiles and professional outreach. By leveraging the GitHub REST API and analyzing public commit metadata, this application uncovers public email addresses and comprehensive social data that are often hidden from the standard profile view.

Built with a focus on speed and user experience, the platform provides a centralized dashboard for developer intelligence, making networking and talent sourcing more efficient than ever.

✨ Features

  • πŸ”Ž Deep Search: Instantly fetch user data by GitHub username.
  • πŸ“§ Email Discovery: Extract public emails from recent commit history (where available).
  • πŸ‘€ Full Profile Insight: View names, detailed bios, and high-resolution avatars.
  • 🌐 Web Presence: Direct links to personal websites, portfolios, and blogs.
  • 🐦 Social Integration: Quick access to Twitter (X) and other linked social handles.
  • πŸ“¦ Repository Metrics: Real-time count of public repositories and gists.
  • πŸ‘₯ Social Proof: Track follower and following counts to gauge community impact.
  • πŸ“± Responsive Design: Fully optimized for mobile, tablet, and desktop viewing.

πŸ›  Tech Stack

  • Framework: Next.js
  • Styling: Tailwind CSS
  • Language: TypeScript
  • State Management: Redux
  • API: GitHub REST API

βš™οΈ Prerequisites

Before you begin, ensure you have the following installed:

πŸš€ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/github-contact-finder.git
    cd github-contact-finder
  2. Install dependencies

    npm install
    # or
    yarn install
  3. No need to Set up environment variables

  4. Run the development server

    npm run dev
    # or
    yarn dev

    Open http://localhost:3000 with your browser to see the result.

πŸ’‘ Usage

  1. Enter a valid GitHub username into the search bar.
  2. The application will fetch the user's general profile.
  3. Simultaneously, the system scans the user's recent public push activities to find email addresses associated with their Git commits.
  4. View the organized profile card with all available contact information and social links.

πŸ”Œ API Documentation

The application interacts primarily with the GitHub REST API.

Method Endpoint Description
GET /users/{username} Fetches basic profile information.
GET /users/{username}/events/public Scans public activity for commit emails.

Example Response (Internal State)

{
  "username": "octocat",
  "email": "octocat@github.com",
  "bio": "GitHub's mascot",
  "public_repos": 8,
  "followers": 5000,
  "links": {
    "twitter": "https://twitter.com/github",
    "blog": "https://github.blog"
  }
}

πŸ”§ Configuration

To increase the API rate limit from 60 requests/hour to 5,000 requests/hour, configure your GitHub Token:

Variable Description Default
NEXT_PUBLIC_GITHUB_TOKEN Personal Access Token for GitHub API null
NEXT_PUBLIC_API_URL Base URL for GitHub API https://api.github.com

πŸ“‚ Folder Structure

github-contact-finder/
β”œβ”€β”€ public/             # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/     # Reusable UI components
β”‚   β”œβ”€β”€ store/          # Redux Toolkit slices and store config
β”‚   β”œβ”€β”€ hooks/          # Custom React hooks
β”‚   β”œβ”€β”€ services/       # API integration logic
β”‚   β”œβ”€β”€ types/          # TypeScript interfaces/types
β”‚   β”œβ”€β”€ utils/          # Helper functions
β”‚   └── app/            # Next.js App Router (Pages & Layouts)
β”œβ”€β”€ .env.example        # Template for env variables
β”œβ”€β”€ tailwind.config.ts  # Tailwind CSS configuration
└── tsconfig.json       # TypeScript configuration

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.

βœ‰οΈ Contact

Project Lead - @KrrishSR4
Project Link:- https://githubcontactfinder.web.app