A sleek Next.js app to search and explore GitHub profiles in real-time β featuring live autocomplete suggestions, full repository browsing, and language statistics.
- π Live Autocomplete β Type a username and see matching GitHub profiles appear instantly. Click to view any profile in one click.
- π Full Repository List β View every single public repository a user has, with progressive "Load More" loading (not the repo code)
- π» Language Statistics β See the top programming languages used across all repositories.
- π¨ Animated UI β Smooth hover effects, fade-in animations, shimmer transitions, and a beautiful gradient theme.
- π± Fully Responsive β Works seamlessly on desktop, tablet, and mobile.
- Node.js (v18 or higher)
- npm
# 1. Clone the repository
git clone https://github.com/Sumaiya-SE/Devlens.git
# 2. Navigate into the project
cd devlens
# Make sure You have Node.js downloaded then,
# 3. Install dependencies
npm install
# 4. Start the development server
npm run devThen open http://localhost:3000 in your browser.
| Technology | Purpose |
|---|---|
| Next.js 14 | React framework with App Router |
| React 18 | Component-based UI |
| GitHub REST API | Fetching user and repository data |
| CSS3 | Animations, gradients, responsive layout |
Devlens/
βββ app/
β βββ layout.js # Root layout
β βββ page.js # Main page & search logic
β βββ globals.css # Global styles & animations
βββ components/
β βββ SearchBar.js # Search input with autocomplete dropdown
β βββ UserProfile.js # Profile card (avatar, bio, stats)
β βββ RepoCard.js # Individual repository card
β βββ LanguageStats.js # Language breakdown display
βββ package.json
This project uses the public GitHub REST API β no API key required.
| Endpoint | Used For |
|---|---|
/search/users?q={query} |
Live autocomplete suggestions |
/users/{username} |
Fetching user profile data |
/users/{username}/repos |
Fetching all repositories |
Rate Limit: GitHub allows 60 requests/hour for unauthenticated users, which is plenty for personal use.
- Setting up a Next.js 14 project with the App Router
- Using React hooks (
useState,useEffect,useRef) - Fetching data from a public REST API
- Building reusable components in React
- Implementing debouncing for search performance
- GitHub: @Sumaiya
- LinkedIn: @Sumaiya-Shahudheen
β If you found this useful, consider giving it a star and connect me through LinkedIn!