Skip to content

ChinmayKaitade/github-user-avatar-finder

Repository files navigation

πŸš€ GitHub Avatar Finder

GitHub Avatar Finder

A simple and elegant React application to find and display GitHub user avatars by their username. This project demonstrates the integration of GitHub's API, debouncing with custom hooks, and a user-friendly interface.

πŸ“‹ Features

  • πŸ” User Search: Search for any GitHub user by their username.
  • πŸ–ΌοΈ Avatar Display: Display the user's GitHub avatar in a stylish, rounded frame.
  • πŸ› οΈ Debouncing: Prevent excessive API calls with a custom debouncing hook.
  • ❌ Error Handling: User-friendly error messages for invalid usernames or failed requests.
  • 🎨 Responsive Design: Mobile-first design ensures a great experience on any device.

πŸ“· Screenshot

πŸ”— Live Demo Link

Image1

Image2

🌟 Future Scope

  • πŸ—ƒοΈ User Details: Display additional user information like bio, number of repositories, followers, etc.
  • 🌐 Dark Mode: Add a toggle to switch between light and dark themes.
  • πŸ’Ύ Favorites: Allow users to save their favorite GitHub profiles.
  • πŸ”„ Autocomplete: Implement username suggestions as the user types.

πŸ› οΈ Project Structure

dist/
β”œβ”€β”€ index.html             # Main HTML file, entry point for the app
β”œβ”€β”€ logo192.png            # Web app logo (small size)
β”œβ”€β”€ manifest.json          # Web app manifest for PWA settings
β”œβ”€β”€ robots.txt             # Instructions for search engine bots
β”œβ”€β”€ vite.svg               # Vite logo, possibly used in the app

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ GitHubCard/        # Components related to GitHub profile cards
β”‚   β”œβ”€β”€ Home/              # Home page component
β”‚   └── InputBox/          # Components for input handling
β”œβ”€β”€ hooks/
β”‚   └── useDebounce.js     # Custom hook to debounce input values
β”œβ”€β”€ routes/
β”‚   └── CustomRoutes.jsx   # Custom routing configuration
β”œβ”€β”€ App.js                 # Main app component
β”œβ”€β”€ App.css                # Global CSS for the app
β”œβ”€β”€ index.js               # Entry point for React, renders the app
β”œβ”€β”€ main.jsx               # Main JavaScript file for the app
β”œβ”€β”€ tailwind.config.js     # Tailwind CSS configuration
└── vite.config.js         # Vite configuration file

.gitignore                  # Specifies files and directories to ignore in Git
package.json                # Project dependencies and scripts
README.md                   # Project documentation and instructions
```


## πŸš€ Getting Started

### Prerequisites

- Node.js and npm installed on your machine.
- Basic understanding of React.

### Installation

1. **Clone the repository**:

   ```bash
   git clone https://github.com/ChinmayKaitade/github-user-avatar-finder.git
  1. Install dependencies:

    npm install
  2. Run the application:

    npm start

    The application should now be running on http://localhost:3000.

πŸ€– Usage

  1. Enter a GitHub username in the input box.
  2. The avatar will be displayed below after a short delay.
  3. If the username doesn't exist, an error message will be shown.

🀝 Contributing

Contributions are welcome! Please fork this repository, make your changes, and submit a pull request. πŸ™Œ

Steps to Contribute:

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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ“© Lets Connect

Chinmay'sLinkedinHandle | Chinmay'sInstagramHandle | Chinmay'sXHandle


Made with ❀️ by Chinmay Kaitade

Releases

No releases published

Packages

 
 
 

Contributors