A web app to view GitHub users’ contributions in a clean, interactive interface.
Built with Node.js, Express, HTML, CSS, and JavaScript.
- Enter a GitHub username or profile URL to see all repos they have contributed to.
- Supports custom domain URLs:
https://ghc.obsoletedev.com/username
. - Shows repository information including:
- Repo name (clickable to GitHub)
- Description
- Stars
- Primary language with color indicator
- Sort repositories by:
- Stars (ascending/descending)
- Name (A–Z / Z–A)
- Animated cards for smooth transitions.
- Persistent search history using
localStorage
. - Responsive Poimandres-inspired dark theme.
- Clone the repository:
git clone https://github.com/obsoletedevgit/github-user-contributions.git
cd github-user-contributions
- Install dependencies:
npm install
- Create .env and insert this variable: You can get a personal access token here. It needs the public_repo permission.
GITHUB_TOKEN=your_personal_access_token_here
- Start the server:
npm run start
- Open your browser and go to:
http://localhost:3000
-
Enter a GitHub username or URL in the search bar.
-
Click Search or press Enter.
-
View user contributions as cards with repo information.
-
Use the Sort By dropdown in the header to organize repos.
-
Click a repo card to open the repository on GitHub.
-
Recent searches appear as buttons below the search bar for quick access.
Supports URLs like:
-
https://github.com/octocat → loads octocat
-
https://ghc.obsoletedev.com/octocat → also loads octocat
Backend: Node.js, Express, node-fetch
Frontend: HTML, CSS, JavaScript
Persistence: localStorage for search history
github-user-contributions/
├─ backend/
│ └─ server.js # Express server
├─ frontend/
│ ├─ index.html # Main HTML file
│ ├─ style.css # Stylesheet
│ ├─ script.js # Frontend JS
│ └─ icons/ # GitHub/star SVG icons
├─ package.json
├─ README.md
├─ LICENSE
├─ .gitignore
├─ .env # Create this yourself!
└─ package-lock.json
- Report bugs or request features on GitHub Issues
- Contributions are welcome via pull requests.
Built with 💜 by ObsoleteDev & contributors