Skip to content

feat(campaign): aggregate and feature campaign success stories - #812

Merged
Idrhas merged 9 commits into
Fundable-Protocol:mainfrom
339mon:feat/issue-787-feat-campaign-campaign-success-stories
Sep 3, 2026
Merged

feat(campaign): aggregate and feature campaign success stories#812
Idrhas merged 9 commits into
Fundable-Protocol:mainfrom
339mon:feat/issue-787-feat-campaign-campaign-success-stories

Conversation

@339mon

@339mon 339mon commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR adds a campaign success story aggregation and featuring system that tracks which campaigns have shipped, surfaces creator interviews and backer testimonials, and highlights successful campaigns across the campaign listing and detail pages — with a reusable API route and service layer.

Related Issue

Closes the campaign success stories bounty issue.

Changes

🚀 Success Story Aggregation

  • [ADD] apps/web/src/services/campaign-success.service.ts

    • Aggregates campaigns that have successfully shipped on their promises.
    • Builds success story records with creator interview content, backer testimonials, and delivery metadata.
    • Provides getSuccessStories, getSuccessStoriesByCampaignId, and isSuccessStory helpers.
  • [ADD] apps/web/src/app/api/campaigns/success-stories/route.ts

    • Public API endpoint that returns success stories with campaign summaries.
    • Supports optional ?campaignId= and ?featured=true filters; sorts by most recently shipped.
  • [MODIFY] apps/web/src/services/campaign.service.ts and apps/web/src/services/types.ts

    • Extends campaign loading with success flags and success story references.
    • Adds SuccessStory, CreatorInterview, BackerTestimonial, and CampaignSuccessStatus types.

🌟 Success Stories UI

  • [ADD] apps/web/src/components/modules/campaign/success-stories/SuccessStories.tsx

    • New shared component for featuring success stories on campaign pages.
    • Renders creator interview snippets, backer testimonials, and delivered/shipped badges.
  • [MODIFY] apps/web/src/app/(overview)/campaigns/page.tsx

    • Adds a featured success stories section below the active campaign grid.
    • Uses SuccessStories to showcase shipped campaigns with interview highlights.
  • [MODIFY] apps/web/src/app/(overview)/campaigns/[id]/page.tsx

    • Adds a success story section to individual campaign pages when the campaign is marked as shipped.
    • Displays creator interview content and backer testimonials alongside the campaign narrative.

Verification Results

npm run build
✅ Build passes

Manual acceptance check:
✅ Shipped campaigns are included in success story aggregation
✅ Creator interviews render on campaign detail and listing pages
✅ Backer testimonials are displayed via the SuccessStories component
✅ Success stories API returns featured campaigns sorted by recency
✅ Non-shipped campaigns are excluded from success story features
Acceptance Criteria Status
Campaigns that successfully deliver are tracked as success stories ✅ Aggregation uses shipment/delivery status to include qualifying campaigns
Success stories feature creator interviews ✅ Interview content is modeled, returned by the API, and rendered in SuccessStories
Success stories feature backer testimonials ✅ Testimonials are displayed on campaign listing and detail pages
Campaigns that ship are featured/promoted ✅ Shipped campaigns receive success badges and appear in featured success sections

Closes #787

@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@339mon Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: eb17bd08-e4dd-4129-9c94-c69419b42716


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.

@Utilitycoder Utilitycoder left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Please fix up the merge conflict and update your PR. Kindly ensure you offramp with Fundable at https://stellar.fundable.finance/offramp

@Idrhas
Idrhas merged commit c43e091 into Fundable-Protocol:main Sep 3, 2026
1 check passed
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.

feat(campaign): Campaign success stories - aggregate and feature campaigns that ship

3 participants