Skip to content

πŸ” A GitHub profile explorer built with Next.js & React. Search any username, view profile details, repositories, and READMEs β€” powered by the GitHub API.

Notifications You must be signed in to change notification settings

hamzaabialal/github-clone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ™ GitHub Clone

A modern, responsive GitHub clone built with Next.js 15, TypeScript, and TailwindCSS. This application allows users to search for GitHub users and view detailed profiles with repositories, similar to the original GitHub experience.

πŸ“Έ Screenshots

Home Search

Advanced Filters

Search Results

User Profile

Repositories List

✨ Features

πŸ” User Search

  • Search for GitHub users by username, location, or skills
  • Real-time search results with GitHub API integration
  • Responsive search interface with keyboard navigation support

πŸ‘€ User Profiles

  • Comprehensive user profile information
  • User statistics (repositories, followers, following, gists)
  • Profile details including location, company, blog, and social links
  • Join date and last update information

πŸ“š Repository Display

  • List of user repositories with detailed information
  • Repository metadata (language, stars, forks, last update)
  • Fork status and privacy indicators
  • Direct links to GitHub repositories

🎨 Modern UI/UX

  • Dark theme with GitHub-inspired design
  • Responsive layout for all device sizes
  • Smooth animations and hover effects
  • Professional typography and spacing

πŸš€ Tech Stack

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: TailwindCSS 4
  • Icons: Lucide React
  • API: GitHub REST API
  • Deployment: Vercel-ready

πŸ“¦ Installation

  1. Clone the repository

    git clone <your-repo-url>
    cd github-clone
  2. Install dependencies

    npm install --legacy-peer-deps
  3. Run the development server

    npm run dev
  4. Open your browser Navigate to http://localhost:3000

πŸ”§ Usage

Searching for Users

  1. Enter a search query in the search bar
  2. Press Enter or click the Search button
  3. Browse through the search results
  4. Click on any user to view their detailed profile

Viewing User Profiles

  • Profile Header: Avatar, name, bio, and statistics
  • User Information: Location, company, blog, social links
  • Repositories: List of public repositories with metadata
  • Navigation: Easy navigation back to search

🌐 API Integration

The application integrates with the GitHub REST API to fetch:

  • User search results
  • Individual user profiles
  • User repositories
  • Repository metadata

Note: The GitHub API has rate limits for unauthenticated requests (60 requests per hour for IP address). For production use, consider implementing GitHub OAuth authentication.

πŸ“± Responsive Design

  • Mobile: Optimized for small screens with stacked layouts
  • Tablet: Adaptive grid layouts for medium screens
  • Desktop: Full-featured interface with optimal spacing

🎯 Project Structure

src/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Header.tsx          # Navigation header with search
β”‚   β”‚   β”œβ”€β”€ Footer.tsx          # Site footer
β”‚   β”‚   └── LoadingSpinner.tsx  # Reusable loading component
β”‚   β”œβ”€β”€ user/
β”‚   β”‚   └── [username]/
β”‚   β”‚       └── page.tsx        # User profile page
β”‚   β”œβ”€β”€ globals.css             # Global styles
β”‚   β”œβ”€β”€ layout.tsx              # Root layout
β”‚   └── page.tsx                # Home page with search
β”œβ”€β”€ types/                      # TypeScript type definitions
└── utils/                      # Utility functions

πŸš€ Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Connect your repository to Vercel
  3. Deploy automatically on every push

Other Platforms

The application can be deployed to any platform that supports Next.js:

  • Netlify
  • Railway
  • DigitalOcean App Platform
  • AWS Amplify

πŸ”’ Environment Variables

Currently, the application uses the public GitHub API without authentication. For production use, you may want to add:

GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ™ Acknowledgments

  • GitHub for providing the excellent API
  • Next.js team for the amazing framework
  • TailwindCSS for the utility-first CSS framework
  • Lucide for the beautiful icons

πŸ“ž Support

If you have any questions or need help, please:

  • Open an issue on GitHub
  • Check the existing documentation
  • Review the code examples

Happy coding! πŸš€

About

πŸ” A GitHub profile explorer built with Next.js & React. Search any username, view profile details, repositories, and READMEs β€” powered by the GitHub API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published