Thanks for improving EarnProof. This repository contains the public web app and frontend flows for wallet authentication, payment review, proof creation, and public verification.
npm install
cp .env.example .env.local
npm run devDefault local URL: http://localhost:3000.
Run these before opening a pull request:
npm run lint
npm run builde2e/visual/ contains a Playwright suite that screenshots representative
routes/states and compares them to committed baseline images (see
e2e/visual/README.md). If your change intentionally alters a covered
layout:
- Regenerate baselines with
npm run test:e2e:visual:update, generated from the same environment CI runs in (see the README for why). - Review every changed baseline image yourself before committing it.
- Call this out explicitly in your pull request description (e.g. a
## Visual baseline updatesection naming which snapshots changed and why). A PR that updates baseline images without that note should be treated as unreviewed and not approved as-is.
- Keep changes scoped to the issue you are solving.
- Do not put secret keys, private wallet material, or signing data in client code.
- Make Stellar network state visible when a workflow depends on testnet.
- Keep verification pages limited to intentionally disclosed proof data.
- Add tests or fixtures when changing behavior that can regress.
- Update documentation when user-facing behavior changes.
- Never commit real user data, wallet material, or credentials in test fixtures — visual/e2e fixtures must be synthetic.
- The feature or fix satisfies the issue acceptance criteria.
- Lint and build pass.
- User-facing text is accurate about implemented behavior.
- Sensitive data is not exposed in logs, URLs, screenshots, or public verification payloads.
- The pull request explains validation performed.