Files
sxchnge/website/README.md
T
Stephan D d9318053e8 Prepare product layout and reusable Flutter theme
Relocate the existing Astro website and preserve its assets and hosting configuration. Add the consumer/backend scaffold and themed Flutter package with consumer tests. Related to #1.
2026-09-11 15:36:58 +02:00

31 lines
1.8 KiB
Markdown

# SXCHNGE
Astro public website for a crypto-to-fiat exchange. English and Russian, responsive layouts, an illustrative exchange calculator, and explicit company / policy placeholders.
## Development
Node >=22.12.0 (Node >=22.18 for the native TypeScript test runner), npm.
Run these commands from `website/` (use `cd website` from the repository root).
```sh
npm ci
npm run dev -- --background --host 127.0.0.1
npm run test
npm run build
```
Use `npm exec astro dev stop` to stop the background preview. Static output is `dist/`. `/` redirects to `/en/`; localized content lives at `/en/` and `/ru/`. Legal placeholders have separate localized routes.
## Content and launch configuration
- Translation source: `src/i18n/copy.ts`.
- Brand reference: `design/tokens.json`, documented in `design/README.md`.
- Optional Flutter palette reference: `flutter/brand_palette.dart`. Compatibility does not require identical application styling.
- Full account URLs: set `PUBLIC_FLUTTER_REGISTER_URL` and `PUBLIC_FLUTTER_LOGIN_URL` at build time, as shown in `.env.example`. Locale is appended as `lang`. Until configured, actions open a clear preview dialog; no credentials are collected.
- Quote fixtures: `src/lib/quote.ts`. Demo only; no rates are fetched, orders placed, or funds handled.
- Replace all company placeholders, supply approved legal policies, and confirm supported assets, payout methods, countries, fees and timelines before launch.
- The preview explicitly uses `noindex,nofollow`. Remove only when launch content is complete, and set the real domain in `astro.config.mjs`.
Fonts are self-hosted with their license. No analytics, third-party trackers, client storage, or authentication backend is included. The website uses Astro's own TypeScript script support; React is unnecessary for the current interactions.