Skip to content

feat: improve landing page with how-it-works section and strong CTA#488

Open
mahek2016 wants to merge 4 commits intoAOSSIE-Org:mainfrom
mahek2016:feature/landing-page-484
Open

feat: improve landing page with how-it-works section and strong CTA#488
mahek2016 wants to merge 4 commits intoAOSSIE-Org:mainfrom
mahek2016:feature/landing-page-484

Conversation

@mahek2016
Copy link

@mahek2016 mahek2016 commented Feb 26, 2026

Addressed Issues:

Fixes #484

Screenshots/Recordings:

Updated landing page with:

  • Clear value proposition
  • "How It Works" section (3-step flow)
  • "Why EduAid?" section
  • Strong final CTA button

Desktop View

Screenshot 2026-02-26 201017

Additional Sections View

Screenshot 2026-02-26 201041

Additional Notes:

This PR improves the clarity and structure of the landing page to help first-time users understand the product within a few seconds.

Changes made:

  • Improved hero subtitle messaging
  • Added structured "How It Works" section
  • Added "Why EduAid?" section
  • Added stronger upload CTA
  • No backend changes
  • No routing changes
  • No existing functionality modified

All existing features continue to work as expected.

Checklist

  • My PR addresses a single issue, fixes a single bug or makes a single improvement.
  • My code follows the project's code style and conventions
  • If applicable, I have made corresponding changes or additions to the documentation
  • If applicable, I have made corresponding changes or additions to tests
  • My changes generate no new warnings or errors
  • I have joined the Discord server and I will share a link to this PR with the project maintainers there
  • I have read the Contribution Guidelines
  • Once I submit my PR, CodeRabbit AI will automatically review it and I will address CodeRabbit's comments.

AI Usage Disclosure

  • This PR contains AI-generated code. I have tested the code locally and I am responsible for it.

I have used the following AI models and tools:

  • ChatGPT (for structuring and refining UI layout)

Summary by CodeRabbit

  • New Features

    • Redesigned home page with refreshed header, hero and layout alignment
    • Added informational sections: "How It Works," "Why EduAid," and final call-to-action linking to question-type flow
    • New feature highlights (PDF/DOC upload, AI-powered quiz generation, Instant Practice Mode)
    • Updated action buttons: "Upload & Generate Quiz" and "View Previous Work"
  • Style

    • Improved spacing, typography and visual consistency; adjusted placement of GitHub/stars block

@coderabbitai
Copy link

coderabbitai bot commented Feb 26, 2026

Warning

Rate limit exceeded

@mahek2016 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 3 minutes and 47 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 39efd86 and 1449774.

📒 Files selected for processing (1)
  • eduaid_web/src/pages/Home.jsx
📝 Walkthrough

Walkthrough

Home.jsx was restructured: layout changed from full-screen centering to top-aligned min-height, header/logo repositioned, hero/subtitle and feature cards rewritten, buttons relabeled, and new "How It Works", "Why EduAid", and CTA sections added. GitHub stars caching logic and fetch formatting were tightened.

Changes

Cohort / File(s) Summary
Home Page & UI
eduaid_web/src/pages/Home.jsx
Layout change ( h-screenmin-h-screen, centering → top-aligned), header/logo moved into new block, hero and subtitle rewritten, feature cards replaced, buttons relabeled ("Upload & Generate Quiz", "View Previous Work"), added "How It Works", "Why EduAid", and final CTA linking to /question-type, spacing/styling adjustments across sections.
Behavior & Fetch Logic
eduaid_web/src/pages/Home.jsx
GitHub fetch URL reformatted for readability; stars caching validation enhanced to parse numeric values and use Number.isFinite checks for cache validation; minor import punctuation/semicolon added.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I hopped to a page with a brand-new face,
Buttons and cards in a sunny space.
Upload a file, make quizzes bloom,
I nibble at bugs and clear the room.
Hop on, learners—let knowledge race! ✨

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR updates landing page UI but does not implement the core interactive quiz feature (one-by-one questions, immediate feedback, score tracking, progress bar) required by issue #484. Implement the interactive quiz mode with question-by-question flow, immediate feedback, score tracking, and progress bar as specified in issue #484.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main changes: adding a 'How It Works' section and stronger CTAs to improve the landing page.
Out of Scope Changes check ✅ Passed The PR changes are focused on landing page UI improvements (hero section, feature buttons, How It Works section, Why EduAid section, CTAs) which align with the PR objectives and issue #484's goal of improving user onboarding.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@eduaid_web/src/pages/Home.jsx`:
- Around line 97-109: The Link elements currently wrap native <button> elements
(in Home.jsx render around the "Upload & Generate Quiz" and "View Previous Work"
blocks, and similarly in Text_Input.jsx and Question_Type.jsx), which is
invalid; replace the nested structure by either moving the styling/classes onto
the Link itself and removing the inner <button> (add role="button" and
tabIndex="0" to the Link to preserve accessibility/keyboard behavior) or convert
the outer Link to a programmatic navigation by using the existing navigate
function (e.g., replace Link with a styled <button> that calls navigate('/path')
in its onClick); ensure the className "w-full sm:w-auto flex justify-center
gap-3 text-white px-6 py-3 border-gradient hover:wave-effect rounded-md
transition-all duration-300" is applied to the interactive element and update
Text_Input.jsx and Question_Type.jsx the same way.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between fc3bf1a and ce79c02.

📒 Files selected for processing (1)
  • eduaid_web/src/pages/Home.jsx

@mahek2016
Copy link
Author

Thank you for the review. I’ve addressed the suggested improvements:

  • Hardened localStorage parsing
  • Removed nested button inside Link elements
  • Updated final CTA accordingly

Please let me know if any further changes are required.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@eduaid_web/src/pages/Home.jsx`:
- Around line 35-39: The cache-hit guard currently coerces possibly-missing
values to numbers (e.g., Number(null) === 0), causing false cache hits; update
the condition around cachedStars and cachedTime to first ensure the raw cached
values are present (non-null/undefined) before calling Number.isFinite and
isMoreThanOneDayOld — i.e., check that cachedStars and cachedTime are not
null/undefined, then convert/validate with Number.isFinite(cachedStars) and
Number.isFinite(cachedTime) and !isMoreThanOneDayOld(cachedTime) so the cache
branch only runs when both keys truly exist and are valid numbers.
- Around line 19-20: Validate the GitHub response before using stargazers_count:
after awaiting response.json() (the variable response and call response.json()),
check response.ok and ensure the parsed object has a numeric
data.stargazers_count; if not, handle the error path (throw a descriptive error
or return a safe fallback like 0) so the caller of this fetch in Home.jsx
doesn't render undefined. Update the function that currently does "const data =
await response.json(); return data.stargazers_count;" to perform these checks
and log or surface the response status and body when invalid.

ℹ️ Review info

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ce79c02 and 39efd86.

📒 Files selected for processing (1)
  • eduaid_web/src/pages/Home.jsx

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.

[FEATURE]: Add Interactive Quiz Mode to EduAid

1 participant