Skip to content

Updates Projects and Contributors Wall with Real Data.#56

Closed
Pranav00076 wants to merge 2 commits into
Demon-Die:mainfrom
Pranav00076:main
Closed

Updates Projects and Contributors Wall with Real Data.#56
Pranav00076 wants to merge 2 commits into
Demon-Die:mainfrom
Pranav00076:main

Conversation

@Pranav00076

@Pranav00076 Pranav00076 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Updates Projects and Contributors Wall with Real Data.

Summary by CodeRabbit

  • Updates

    • Project stats updated to: 7 active projects, 63 students engaged, 2 contributors, 9 repo stars.
    • Project list refreshed with new project entries and descriptions.
  • New Features

    • Contributor wall now loads contributor data dynamically from a generated summary file and renders it at page load.
  • Chores

    • Repo ignore rules updated to exclude documentation and environment files.
  • New Tools

    • Added a script to collect and produce GitHub repository/contributor summary data.

@Pranav00076 Pranav00076 requested a review from RishiByte as a code owner June 9, 2026 07:52
@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

@Pranav00076 is attempting to deploy a commit to the Rishi Bhardwaj's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8895a2bd-b318-4bd7-b6e7-27ddc19f2237

📥 Commits

Reviewing files that changed from the base of the PR and between 84f01df and 84c442b.

📒 Files selected for processing (1)
  • index.html
🚧 Files skipped from review as they are similar to previous changes (1)
  • index.html

📝 Walkthrough

Walkthrough

Adds a Bash pipeline that collects GitHub organization repos, contributors, and members, writes a summary JSON, updates .gitignore, and changes the site to load stats, projects, and contributor cards from github_summary.json at runtime.

Changes

GitHub Data Integration & Dynamic UI

Layer / File(s) Summary
Configuration & Environment Setup
.gitignore
Updated to ignore the docs/ directory, the root .env, and *.env files.
GitHub Data Fetching Pipeline
fetch_github_data.sh
Adds a script that loads a token from .env, fetches org repos (up to 100/page), paginates contributors per repo, merges/deduplicates contributors with org members, reorders priority logins, and prepares aggregated data.
Generated Summary Data
github_summary.json
New static JSON containing project_count, total_stars, contributor_count, a repos array (name, description, stars, url), and a members array with profile and contributions data.
Frontend Updates: Dynamic Data Rendering
index.html
Updated stat counters (Active Projects → 7, Students Engaged → 63, Contributors → 2, Stars → 9), replaced Projects Explorer entries, and made the Contributor Wall dynamic by fetching github_summary.json and rendering data.members into #contributors-list.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 I hopped through APIs and logged a trace,
Collected stars and faces into place.
A JSON chest now holds the scores,
The site reads it and opens doors.
Hooray — the dashboard hums with grace!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: updating the Projects and Contributors Wall sections with real data from GitHub (github_summary.json), which is the primary objective reflected across the modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@Pranav00076

Copy link
Copy Markdown
Contributor Author

@RishiByte Check the PR.

@RishiByte

Copy link
Copy Markdown
Member

@Pranav00076 there is a branch conflict on it rn solve it

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
index.html (1)

212-240: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Bind stats and project cards to github_summary.json instead of hardcoding.

Line 230 currently shows 2 contributors, but github_summary.json in this PR has contributor_count: 16. The same drift risk exists for the hardcoded project list in Lines 339-401. Please render these from the fetched summary so the page stays correct after each data refresh.

Also applies to: 339-401

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@index.html` around lines 212 - 240, The stats and project cards are
hardcoded; update the UI to render from the fetched github_summary.json instead:
replace the static numeric blocks that use the "text-headline-md
font-headline-md" elements (and the adjacent "text-code-sm ...">Contributors /
Students Engaged / Repository Stars / Active Projects labels) with values pulled
from the parsed github_summary object (e.g., contributor_count,
repository_stars, project_count, student_count or their actual keys in
github_summary.json), and replace the hardcoded project list markup with a loop
that renders project card elements from github_summary.projects (or the projects
array in the JSON) when building the DOM; ensure the data fetch that produces
githubSummary (or similarly named variable) is awaited/available before mounting
these elements so the counts and cards always reflect the JSON.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@fetch_github_data.sh`:
- Around line 21-25: The curl calls that populate REPOS (and similar later
calls) can return HTTP error payloads which jq then treats as unexpected
objects; update the curl invocation used to build REPOS to fail fast and
validate the response before jq (e.g., use curl --fail -S or capture HTTP
status) and check that the body is a JSON array before computing PROJECT_COUNT,
TOTAL_STARS and REPOS_DATA; if the call fails or the body is not an array, log
the error and exit non‑zero so downstream jq aggregations (jq -s 'add', the
REPOS_DATA/jq expressions) never run on an error payload.
- Around line 21-23: The script currently only fetches the first page of org
repos and members into REPOS (and members) then computes PROJECT_COUNT and
TOTAL_STARS from that single page; update the logic to implement real pagination
by repeatedly requesting the GitHub API with per_page=100&page=N (or follow the
Link header) and concatenating results until no more pages, storing the full
aggregated JSON into REPOS and members variables, then recompute PROJECT_COUNT
and TOTAL_STARS from the aggregated REPOS and recompute contributor_count from
aggregated members; ensure the loop handles empty pages, preserves JSON array
structure when appending, and reuses the existing variable names (REPOS,
PROJECT_COUNT, TOTAL_STARS, members, contributor_count) so downstream code
remains unchanged.

In `@index.html`:
- Around line 497-516: The contributor loader fetch block lacks HTTP/schema
guards and a visible fallback; update the fetch promise chain (the fetch(...)
call handling) to check res.ok before calling res.json(), validate that
Array.isArray(data.members) before iterating, and if either check fails or an
error is caught, set a user-visible message inside the element with id
'contributors-list' (e.g., "Contributors unavailable") instead of leaving the
container empty; ensure you still log the error to console and avoid calling
forEach on an undefined members property.

---

Outside diff comments:
In `@index.html`:
- Around line 212-240: The stats and project cards are hardcoded; update the UI
to render from the fetched github_summary.json instead: replace the static
numeric blocks that use the "text-headline-md font-headline-md" elements (and
the adjacent "text-code-sm ...">Contributors / Students Engaged / Repository
Stars / Active Projects labels) with values pulled from the parsed
github_summary object (e.g., contributor_count, repository_stars, project_count,
student_count or their actual keys in github_summary.json), and replace the
hardcoded project list markup with a loop that renders project card elements
from github_summary.projects (or the projects array in the JSON) when building
the DOM; ensure the data fetch that produces githubSummary (or similarly named
variable) is awaited/available before mounting these elements so the counts and
cards always reflect the JSON.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 3e01c110-ce2f-40e1-9364-03d41154489e

📥 Commits

Reviewing files that changed from the base of the PR and between 86564cb and 84f01df.

📒 Files selected for processing (4)
  • .gitignore
  • fetch_github_data.sh
  • github_summary.json
  • index.html

Comment thread fetch_github_data.sh
Comment thread fetch_github_data.sh
Comment thread index.html
@Pranav00076

Copy link
Copy Markdown
Contributor Author

@RishiByte check the New PR.

@Pranav00076 Pranav00076 closed this Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants