Skip to content

Latest commit

 

History

History
76 lines (52 loc) · 2.6 KB

File metadata and controls

76 lines (52 loc) · 2.6 KB

Contributing

Thanks for improving the React on Rails marketplace demo.

This repo exists to make SSR, client components, and React Server Components easy to compare in one place. Contributions should keep that comparison credible and easy to understand.

Before you start

  • Keep the user journeys aligned across the SSR, client, and RSC variants unless the change is explicitly about a behavioral difference.
  • Preserve the benchmark story. Artificially removing the slow parts of the demo makes the comparison less useful.
  • When you change the deployed experience, make the source code and contributor entry points easier to find, not harder.

Local setup

  1. Install Ruby 3.3.0, PostgreSQL, and Node 20.x or newer.

  2. Install dependencies:

    bundle install
    pnpm install
  3. Prepare the database:

    bin/rails db:prepare
  4. Start the app:

    bin/dev
  5. Open http://localhost:3000.

Useful routes

  • / for the demo landing page and project links
  • /search/ssr, /search/client, /search/rsc
  • /blog/ssr, /blog/client, /blog/rsc
  • /product/ssr, /product/client, /product/rsc
  • /product-search/ssr, /product-search/client, /product-search/rsc
  • /analytics/ssr, /analytics/client, /analytics/rsc
  • /dashboard for comparison metrics

Demo guardrails

  • Treat the variants as apples-to-apples comparisons. If you add a feature to one route family, check whether it belongs in the others too.
  • Keep realistic latency in place for the data-heavy flows. The demo is meant to show the architectural difference under load.
  • If you touch the RSC pipeline, confirm the SSR and client versions still render the same core information.
  • If you change deployment behavior, update .controlplane/README.md as part of the same PR.

Documentation to read first

Pull requests

Please keep PRs focused and include:

  • a short summary of what changed
  • a test plan with commands you ran or the checks you performed
  • screenshots or route notes for visible UI changes
  • benchmark notes if the change affects the comparison story

If your work changes deployment or review-app behavior, mention that explicitly in the PR description.

Questions and follow-up