Skip to content

Feature: Showcase projects on live site + Hacktoberfest T-shirt reward (with timeline & claim process) #494

@Open-Source-you

Description

@Open-Source-you

Summary

We want a public, live GitHub Pages website that showcases all projects in this repository and lists their open issues (especially good-first-issue / Hacktoberfest-friendly issues). Contributors who create and merge a qualifying PR that implements this feature (or completes a defined subtask listed below) will receive a direct Hacktoberfest T‑shirt reward as announced.

The website should:

  • Display all projects in this repo (name, description, tech stack, repo link).
  • Show open issues from each project (title, labels, assignee, link).
  • Provide a searchable/filterable dashboard (by tag, difficulty, language).
  • Show visual graphs/stats: number of projects, issues per label, recent PRs, contributors.
  • Host live demos / links for projects that have deployed websites.
  • Be hosted via GitHub Pages (automatic deployment from main/gh-pages branch).
  • Include a template to add a new project entry and a CWL (contribution workflow) so maintainers can accept the site updates quickly.
  • Mobile-responsive and accessible (basic WCAG).

Why

  • Makes this org's projects discoverable and Hacktoberfest-friendly.
  • Centralizes issues for contributors to pick up.
  • Encourages newcomers by highlighting good-first-issues and rewards.
  • Live site acts as a portfolio hub for contributors.

Requirements / Features

  1. Site framework
    • Use a static site generator (recommended: Hugo / Jekyll / Next.js static export / VuePress) or plain static HTML/CSS/JS.
    • Repo must include a minimal build script and instructions to run locally.
  2. Data source
    • Dynamically fetch projects & issues using GitHub REST/GraphQL API at build time or client-side.
    • Cache or rate-limit considerations: provide a simple local cache or use GitHub Actions to prebuild data JSON.
  3. UI
    • Projects list page (grid/list) with search and filters.
    • Project detail page with README summary, link to repo, list of open issues.
    • Issues dashboard page that aggregates issues across projects and allows filtering by label (e.g., good-first-issue, hacktoberfest, help wanted), language, difficulty.
    • Graphs: issues per label, open vs closed issues over time, top contributors (use a chart library like Chart.js or D3).
    • Show project live demo link if provided.
  4. Automation / CI
    • A GitHub Action that builds the site and deploys to GitHub Pages on push to main or gh-pages.
    • Optional: scheduled Action to refresh issues/projects data periodically (e.g., daily).
  5. Contribution flow & reward
    • Add a CONTRIBUTING.md section describing how to claim the T-shirt:
      • Eligible contributor: creates a PR implementing the site or a listed subtask; PR must be merged.
      • Maintainers will verify and mark a special label tshirt-approved on merged PRs.
      • After label is applied, contributor fills a simple claim form (could be a GitHub issue template or Google Form) with shipping details.
    • Provide an issue template for "claim T-shirt" and a label tshirt-approved.
  6. Template & Data format
    • A projects.yml or projects.json (or use GitHub org repos list via API) storing:
      • name
      • repo_url
      • description (short)
      • languages (primary)
      • tags (good-first-issue / hacktoberfest / beginner / frontend / backend)
      • demo_url (optional)
      • homepage (optional)
      • maintainers (optional)
    • Provide an example entry and a PR template for adding a project.
  7. Accessibility & Responsiveness
    • Basic accessibility (alt text, semantic HTML).
    • Responsive layout for mobile & desktop.

Implementation breakdown (suggested issues / tasks)

  • Task A: Project site skeleton + GitHub Pages deploy (HTML/CSS/JS or SSG)
  • Task B: GitHub API integration (fetch repos & issues) + caching
  • Task C: Projects list UI with search & filters
  • Task D: Issue dashboard + filters + issue links
  • Task E: Graphs & stats (Chart.js or D3)
  • Task F: CI workflow to build & deploy (GitHub Actions)
  • Task G: CONTRIBUTING + issue & PR templates + T-shirt claim flow
  • Task H: Accessibility & responsiveness fixes, unit tests / E2E basic checks

Acceptance criteria (what we will consider "done")

  • A live site is reachable at GitHub Pages URL for this repo (e.g., https://Open-Source-you.github.io/Hackotberfest2025/).
  • Site lists all projects (or at least those added in projects.yml) and shows their open issues with direct links to GitHub.
  • Issues dashboard and at least two graphs are visible & working.
  • CI builds and deploys the site automatically on push.
  • CONTRIBUTING.md includes T-shirt reward process and a tshirt-approved label/instruction.
  • Maintainers can add new projects by sending PRs to projects.yml (or repo source).
  • A merged PR implementing this feature or completing a listed subtask can be validated and labeled for a T-shirt.

Developer notes / recommended stack

  • Static generator: Hugo (fast) or Next.js (React) or Jekyll (native GitHub Pages).
  • Use GitHub REST v3 or GraphQL v4 for fetching issues/repos.
  • Charting: Chart.js for simple charts, or ApexCharts; D3 for custom visuals.
  • CI/CD: GitHub Actions with actions/setup-node (or hugo) + actions/configure-pages + actions/upload-pages-artifact + actions/deploy-pages.
  • Example libraries: axios/fetch for API, lunr.js for client-side search (or build-time search index).

How to claim the T-shirt (process to implement in CONTRIBUTING)

  1. Contributor opens a PR referencing this issue and implements an assigned task or creates a working site.
  2. Once PR is approved and merged, a maintainer reviews and adds the tshirt-approved label.
  3. Contributor opens a new issue using the "T-shirt claim" template and includes:
    • merged PR link
    • GitHub username
    • shipping address (or private form if preferred)
  4. Maintainers will handle shipping and close the claim issue once shipped.

Example files to include in PR (checklist for contributors)

  • /site/ (or /docs/) source
  • projects.yml (with at least 3 example projects)
  • CONTRIBUTING.md updates
  • .github/workflows/deploy.yml (Pages Action)
  • README update with site URL and dev setup steps
  • Optional: unit test or simple E2E test script

Rewards & fairness

  • Only merged PRs counted.
  • Maintain a CONTRIBUTORS.md or a shipping log for transparency.
  • Limit: one T-shirt per merged qualifying PR per contributor (discuss limits with maintainers).
  • For bulk contributions, maintainers may set milestone-based rewards.

Metadata

Metadata

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions