Skip to content

feat: finalize backend contribution scope#270

Merged
joelpeace48-cell merged 1 commit intoFinesseStudioLab:mainfrom
anupam7984:feat/backend-health-campaign-ci-upgradeability
Apr 28, 2026
Merged

feat: finalize backend contribution scope#270
joelpeace48-cell merged 1 commit intoFinesseStudioLab:mainfrom
anupam7984:feat/backend-health-campaign-ci-upgradeability

Conversation

@anupam7984
Copy link
Copy Markdown

Summary

This PR completes the assigned backend contribution scope in one branch:

  • Adds/validates Soroban RPC health integration in backend health surfaces (/health and /health/rpc) and keeps status visible in responses.
  • Documents contract upgradeability approach and rollout strategy, including a new Future: upgradeability section in docs.
  • Ensures campaign creation flow is covered for legacy compatibility by validating POST /api/campaigns behavior in tests.
  • Strengthens backend CI with GitHub Actions for pull requests and pushes to main, using Node 20 and backend checks.

Changes Included

1) Health + Soroban RPC status

  • Health endpoints include Soroban RPC status details.
  • /health/rpc returns degraded/failure status with 503 when RPC checks fail.
  • Test coverage verifies reachable and failing RPC scenarios.

2) Campaign create endpoint behavior

  • Legacy route compatibility is validated for:
    • POST /api/campaigns
  • Test confirms:
    • 201 Created
    • response includes created campaign payload (name, description, rewardPerAction, etc.)

3) Upgradeability documentation

  • Expanded upgradeability guidance with migration-first operational steps.
  • Added short Future: upgradeability sections to:
    • docs/upgradeability.md
    • docs/ARCHITECTURE_OVERVIEW.md
  • Covers deployer/governance-oriented upgrade path, migration checkpoints, and rollback readiness.

4) Backend CI workflow

  • Updated/added backend workflow under .github/workflows/backend-ci.yml:
    • triggers on:
      • pull requests to main
      • pushes to main
    • uses Node 20
    • installs with npm ci
    • runs backend tests
    • runs lint/typecheck conditionally when scripts exist

Files Changed

  • .github/workflows/backend-ci.yml
  • backend/src/index.test.js
  • docs/upgradeability.md
  • docs/ARCHITECTURE_OVERVIEW.md

Test Plan

  • Run backend tests locally:
    • npm run test --workspace=backend
  • Confirm all tests pass
  • Verify CI workflow targets PR + push to main
  • Verify docs render correctly in markdown preview

Backward Compatibility

  • Legacy API route behavior remains supported and now has explicit test coverage for campaign creation.
  • No breaking API contract changes introduced in this PR.

Notes

This PR focuses on contribution safety and maintainability: observable health checks, tested campaign behavior, CI guardrails, and clear future upgradeability guidance.

closes #108
closes #98
closes #100
closes #136

Align backend contribution requirements by verifying legacy campaign POST coverage, hardening backend CI triggers/checks, and documenting a future upgradeability path for Soroban contracts.

Made-with: Cursor
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 28, 2026

Someone is attempting to deploy a commit to the joelpeace48-cell's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Apr 28, 2026

@anupam7984 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

@joelpeace48-cell joelpeace48-cell merged commit 202c12e into FinesseStudioLab:main Apr 28, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants