Skip to content

Conversation

@arshc0der
Copy link

🚀 Added Contributors Page

Hello @Priyakatariya 👋,

As part of my contribution for GSSoC'25, I’ve implemented a new feature: a dedicated Contributors Page for this repository! 🎉


📌 Feature Overview

✅ What I Added

  • A new contributors.html page that dynamically fetches and displays contributors from the GitHub REST API.
  • Contributor info includes: GitHub avatar, username, profile link, and contribution count.
  • Integrated smooth dark/light theme toggle, responsive card layout, and error handling.
  • LocalStorage caching to reduce API requests and avoid hitting GitHub rate limits.

🔧 Fixes & Improvements

  • 🔁 Linked navbar & footer: Clicking “Contributors” now navigates properly to contributors.html page.
  • 🚫 Removed fallback to HTML scraping – cleaner and more reliable with REST API.
  • 🔐 No GitHub token used: Since this app runs on HTML, CSS, and JS only (no backend), I used the public GitHub REST API without a token.
    • Added a caching mechanism using localStorage (1-hour expiration) to stay within GitHub's rate limits.
  • 💥 If API fails, user sees a friendly error message UI with fallback link to GitHub repo.

🌐 Demo Theme Preview

Screenshot_2-8-2025_14447_127 0 0 1


⚙️ Technologies Used

Feature Stack Used
Page Layout HTML + Tailwind CSS
Interactivity JavaScript (ES6)
API Fetch GitHub REST API v3
Data Cache localStorage

🔍 Why No GitHub Token?

This project is fully frontend-based (no Node.js, Express, or backend), and exposing a personal token in frontend JS is not secure.

Instead:

  • I used the public endpoint:
    https://api.github.com/repos/Jadhav124Akshada/Quiz-App-/contributors
  • Added a localStorage-based cache to reduce repeated requests.
  • Ensured users always get fresh data if cache expires after 1 hour.

🧪 How It Works

  1. Page loads and checks localStorage for cached contributor data.
  2. If cache is missing or expired:
    • Makes a fetch request to the GitHub API.
    • Renders the contributors in beautiful cards.
  3. If the API call fails:
    • A user-friendly error UI is shown.
    • Links to the GitHub repo are provided.

🙌 Contributor Note

As a beginner contributor in GSSoC'25, I was excited to build this feature and learn more about frontend API integration, caching, and clean UI design.
I hope this page adds value to the amazing open source project you’ve created 🙏


🛠 Files Updated

File Description
index.html Added link to contributors.html
contributors.html New dynamic contributors UI with GitHub REST API

🔁 How to Test Locally

  1. Clone the repository
  2. Open contributors.html in your browser
  3. You'll see contributors load in real-time from the GitHub API
  4. Try disconnecting your internet to test the fallback UI

🙏 Final Note

Let me know if you'd like additional enhancements like:

  • Sorting contributors by contribution count
  • GitHub organization support
  • Lazy loading optimization

Thanks again! 😊
@arshc0der 💻

jay1466 and others added 30 commits July 23, 2025 22:08
- Added a comprehensive LEARN.md file to guide learners with:
  - Suggested learning paths (Frontend ➜ Backend ➜ DSA).
  - Detailed quiz topics and curated study resources.
  - Study tips and contribution steps for adding new quizzes.

- Created a .github/PULL_REQUEST_TEMPLATE.md file to standardize
  all future pull requests with a clear format for contributors.

- Updated README.md:
  - Added a reference to LEARN.md in the How to Use section
    for quick access to the learning guide.

These changes improve documentation, contributor onboarding, and
overall project clarity.
…d-pr-template

docs: add LEARN.md, PR template, and link updates in README
Signed-off-by: Sejal Kamble <[email protected]>
Signed-off-by: Sejal Kamble <[email protected]>
Signed-off-by: Sejal Kamble <[email protected]>
Signed-off-by: Sejal Kamble <[email protected]>
Signed-off-by: Sejal Kamble <[email protected]>
Signed-off-by: Sejal Kamble <[email protected]>
…ment-ui

Enhanced footer UI with contact-us icon, and better alignment
Updated README with UI features, tech stack, and project info
…290-main

Revert "Updated README with UI features, tech stack, and project info"
…283-footer-enhancement-ui

Revert "Enhanced footer UI with contact-us icon, and better alignment"
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.

8 participants