Skip to content

Dasmat13/contrib-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ContribHub

ContribHub UI Preview

ContribHub is a client-side web application designed to help developers discover high-quality, beginner-friendly open-source issues. It aggregates "Good First Issues" and "Help Wanted" labels across curated CNCF/LF foundations and top global GitHub repositories.


Table of Contents

  1. Features
  2. Tech Stack
  3. Installation & Setup
  4. Usage
  5. Roadmap
  6. Contributing
  7. License

Features

  • Global Issue Aggregation: Concurrently fetches live issues from curated CNCF/LF projects and top GitHub repositories (>5k stars).
  • Dynamic Filtering:
    • Foundation: CNCF, LF AI, Top GitHub
    • Status: Available, Has PRs/Taken, Bookmarked
    • Language: Go, TypeScript, Java, C++, Python, Rust
    • Project: Dynamically generated list based on fetched results
  • Persistent Bookmarking: Save issues to localStorage for a personal backlog.
  • UI State Persistence: Search queries and filters survive page refreshes.
  • Rate Limit Handling: Accepts a GitHub Personal Access Token to increase API limits (60 → 5,000 req/hr).
  • Language Detection: Heuristic parsing of issue labels to detect language even when API metadata is missing.

Tech Stack

  • HTML5 — Semantic layout
  • CSS3 — Custom properties, CSS Grid/Flexbox, Neobrutalist styling
  • Vanilla JavaScript (ES6+) — Async fetch, DOM manipulation, Event Delegation, localStorage
  • No external frameworks or bundlers — Maximum performance and simplicity

Installation & Setup

Because ContribHub uses standard web technologies, you can run it using any basic local HTTP server.

Quick Start

# Clone or navigate to the directory
cd contrib-hub

# Start a local Python web server
python3 -m http.server 8000

# Open your browser
http://localhost:8000

Optional: Serve with Node.js

npx serve .

Usage

  1. Open the app in your browser.
  2. (Optional) Enter a GitHub Personal Access Token in settings to increase rate limits.
  3. Use the filter bar to narrow issues by foundation, language, status, or project.
  4. Bookmark interesting issues for later.
  5. Click an issue card to open it on GitHub and start contributing.

Roadmap

  • Add sorting by date, comments, or label priority
  • Show issue age and time-to-close estimates
  • Display maintainer responsiveness metrics
  • Add dark/light theme toggle with persistence
  • Export bookmark list to JSON/CSV
  • Add PWA support for offline reading
  • Internationalization (i18n) support

Contributing

We welcome contributions of all kinds! Please see CONTRIBUTING.md for guidelines.

Contributors

Contributors

A huge thank you to everyone who contributes to this project — code, issues, design ideas, and feedback all matter. If you contribute and want to be listed here, open an issue and we'll add you.

License

Distributed under the MIT License. See LICENSE for more information.

About

Aggregate beginner-friendly GitHub issues across CNCF/LF foundations for easy discovery.

Topics

Resources

License

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors