-
-
Notifications
You must be signed in to change notification settings - Fork 390
Open
Labels
EasyHackotberfest-2025HacktoberfestenhancementNew feature or requestNew feature or requestfeature request— User-suggested feature.— User-suggested feature.good first issueGood for newcomersGood for newcomersgood first issue: bug— Small bug fix for new contributors— Small bug fix for new contributorsgood first issue: docs— #7057ff — Beginner-friendly docs task.— #7057ff — Beginner-friendly docs task.hacktoberfest-acceptedhacktoberfest2025
Milestone
Description
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-pagesbranch). - 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
- 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.
- 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.
- 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.
- Automation / CI
- A GitHub Action that builds the site and deploys to GitHub Pages on push to
mainorgh-pages. - Optional: scheduled Action to refresh issues/projects data periodically (e.g., daily).
- A GitHub Action that builds the site and deploys to GitHub Pages on push to
- 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-approvedon 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.
- Add a CONTRIBUTING.md section describing how to claim the T-shirt:
- Template & Data format
- A
projects.ymlorprojects.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.
- A
- 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-approvedlabel/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)
- Contributor opens a PR referencing this issue and implements an assigned task or creates a working site.
- Once PR is approved and merged, a maintainer reviews and adds the
tshirt-approvedlabel. - 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)
- 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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
EasyHackotberfest-2025HacktoberfestenhancementNew feature or requestNew feature or requestfeature request— User-suggested feature.— User-suggested feature.good first issueGood for newcomersGood for newcomersgood first issue: bug— Small bug fix for new contributors— Small bug fix for new contributorsgood first issue: docs— #7057ff — Beginner-friendly docs task.— #7057ff — Beginner-friendly docs task.hacktoberfest-acceptedhacktoberfest2025