A modern, responsive React Web Application for searching and discovering GitHub users with advanced filtering capabilities. Built with Vite, featuring both light and dark themes, and optimized for all device sizes.
- Advanced Search: Search users by username, location, and minimum repository count
- Detailed User Profiles: View comprehensive user information including bio, stats, and social links
- Star Count Display: See total stars earned across all user repositories
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Dark/Light Theme: Toggle between themes for better user experience
- Real-time Loading States: Smooth loading animations and error handling
- Pagination: Navigate through search results efficiently
- React js - Modern React with hooks
- JavaScript (ES6+) - Modern JavaScript features
- CSS3 - Custom CSS with CSS Variables for theming
- GitHub REST API - Real-time user data via native fetch()
- Lucide React - Beautiful icon library
Try it now: GitHub User Search
Want to run it locally or contribute? Follow the installation steps below:
-
Clone the repository
git clone https://github.com/ababdelo/github-user-search.git cd github-user-search
-
Install dependencies
npm install npm install --save lucide-react
-
Set up environment variables (Optional - for higher rate limits)
# Create .env file in root directory VITE_APP_GITHUB_API_KEY=your_github_personal_access_token
-
Start the development server
npm run dev
-
Open your browser
http://localhost:5173
- Search Users: Enter a username, location, or set minimum repository count
- Browse Results: Click through paginated search results
- View Profiles: Click on any user to see detailed profile information
- Theme Toggle: Switch between light and dark themes
- Mobile Experience: Enjoy full functionality on any device
The app integrates with the GitHub REST API to provide:
- User search with advanced filters
- Detailed user profile information
- Repository data for star count calculation
- Proper error handling and rate limiting
- Mobile First: Optimized for mobile devices
- Tablet Support: Enhanced layout for tablet screens
- Desktop Experience: Full-featured desktop interface
- Cross-browser: Compatible with modern browsers
- Light Theme: Clean, bright interface
- Dark Theme: Easy on the eyes for low-light environments
- System Integration: Respects user's system preferences
- Smooth Transitions: Animated theme switching
- Username filtering with partial matches
- Location-based user discovery
- Repository count filtering
- Efficient pagination system
- Avatar and basic information
- Bio and social links
- Repository, follower, and following counts
- Total stars calculation across all repositories
- Join date and activity indicators
- Network error detection
- API rate limit management
- User-friendly error messages
- Retry functionality
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under a Custom Personal Use License - see the license.md file for details.
Key Points:
- ✅ Free for personal use - Use, modify, and learn from the code
- ✅ Educational purposes - Perfect for learning and research
- ✅ Open source - Full source code available
- ❌ No commercial use - Commercial licensing available separately
For commercial licensing inquiries, please contact: https://edunwant42.tech
Abderrahmane Abdelouafi
- Portfolio: https://ed42.tech
- GitHub: @ababdelo
- Location: Morocco 🇲🇦
- GitHub API for providing comprehensive user data
- Lucide React for beautiful icons
- Vite team for the amazing build tool
- React community for continuous inspiration