RemitFlow is a cross-border remittance app powered by the Stellar network. This repository contains the React + Vite frontend.
npm install
npm run devThe app runs at http://localhost:5173 by default.
- Home — landing page describing the product.
- Send Money — enter a recipient and amount, pick currencies, and see a live FX quote with the RemitFlow fee broken out before sending.
- Transfers — list of your transfers with status badges (pending, completed, failed), plus loading, error and empty states.
- Mock wallet — connect a demo Stellar wallet (no network calls).
- React 18 + Vite
- React Router for navigation
- Plain CSS with theme tokens (no UI framework)
- A mock Stellar SDK / wallet and a mock backend API (no network)
src/
components/ reusable UI (Navbar, Footer, QuoteCard, TransferRow, ...)
pages/ route screens (Home, SendMoney, Transfers, NotFound)
services/ mock api, wallet, fx and quote logic
hooks/ useWallet, useTransfers
context/ AppContext (wallet state)
utils/ format and validation helpers
constants/ currencies and fee config
Copy .env.example to .env to override the (unused in mock mode) API base URL:
cp .env.example .envnpm run dev— start the dev servernpm run build— production buildnpm run preview— preview the production buildnpm test— run the automated Vitest suitenpm run test:watch— watch mode for local test developmentnpm run lighthouse— run Lighthouse CI against the local preview server
Integration tests cover the send-money form flow, including validation errors and successful transfer submission that lands on the transfers screen.
Lighthouse checks are configured in lighthouserc.json and run in GitHub Actions on pull requests to the main branch. To validate locally, build the app and run:
npm run build
npm run lighthouseThis is a demo frontend. All FX rates, fees, wallet connections and transfers are mocked locally and do not touch the real Stellar network.