Skip to content

Implement Community Page Sections (Projects, Impact, Get Involved)

Pavani Pothuganti requested to merge About into viswam/website

What does this MR do and why?

This MR implements the Community Project page structure in Strapi by introducing a modular and reusable content architecture using Single Types and Components.

The Community Project section now includes:

  • Projects section with:

    • Title, Duration, Description
    • Key Outcomes (repeatable)
    • Future Plans (repeatable)
    • Metrics (repeatable)
  • Community Impact section with:

    • Impact categories (Education, Data Collection, Infrastructure)
    • Metrics with growth indicators
  • Get Involved section with:

    • Title
    • Repeatable participation cards

Why this change?

  • Enables fully dynamic CMS-driven content
  • Improves content maintainability and scalability
  • Uses reusable components to follow modular design principles
  • Eliminates hardcoded frontend content
  • Allows non-technical users to manage content via Strapi Admin

References

  • Related feature: Community Project Page Implementation
  • Enhancement request for making Community page fully CMS-driven
  • Follow-up implementation for structured and reusable Strapi components

Screenshots or screen recordings

Before After
Community page content was static / partially structured Fully dynamic Community Project page using modular Strapi components

(Optional: Add screenshots of Strapi Content-Type Builder and Content Manager view.)


How to set up and validate locally

  1. Clone the repository:

    git clone <repo_url>
    cd viswam.ai-backend
  2. Install dependencies:

    npm install
  3. Start Strapi server:

    npm run develop
  4. Open Strapi Admin:

    http://localhost:1337/admin
  5. Navigate to:

    Content Manager → Community Project
  6. Verify:

    • Projects section contains repeatable project cards
    • Impact section contains metrics with growth values
    • Get Involved section contains repeatable items
    • API returns nested populated data:
    http://localhost:1337/api/community-project?populate=*

MR acceptance checklist

  • Community Project Single Type created
  • Reusable components implemented correctly
  • Nested repeatable components working as expected
  • API returns fully populated structured data
  • No breaking changes introduced
  • CMS structure follows modular and scalable design

Summary (One-liner for your sir)

Implemented a modular and fully CMS-driven Community Project page in Strapi using reusable components for Projects, Impact, and Get Involved sections to ensure scalability and maintainability.

Merge request reports

Loading