Deliver localized auth app with verification and go_router
Integrate themed login/signup, EN/RU localization, shared dummy providers, verification recovery screens and named URL routes. Store frontend guidelines, workflow skills, validation and delivery documentation. Related to #2, #3, #5 and #6.
This commit is contained in:
1 parent
27424ed886
commit
10a278c65a
44 files changed
+4128
-28
No files matched your search
@@ -1,28 +1,43 @@
|
||||
# SXCHNGE
|
||||
|
||||
Astro public website for a crypto-to-fiat exchange. English and Russian, responsive layouts, an illustrative exchange calculator, and explicit company / policy placeholders.
|
||||
Product repository for the sxchnge public website, consumer frontend, and backend for frontend (BFF).
|
||||
|
||||
## Development
|
||||
## Repository structure
|
||||
|
||||
Node >=22.12.0 (Node >=22.18 for the native TypeScript test runner), npm.
|
||||
| Folder | Purpose | Status |
|
||||
| --- | --- | --- |
|
||||
| [`website/`](website/README.md) | Existing Astro public website, assets, brand references, and Sites configuration | Implemented |
|
||||
| [`frontend/`](frontend/README.md) | Consumer application and Flutter packages | Theme, shared auth, localized app, verification and routing implemented |
|
||||
| [`backend/`](backend/README.md) | Product BFF integrating with Sendico | Prepared for implementation |
|
||||
|
||||
Each application owns its dependencies and deployment configuration. The frontend includes the reusable `sxchnge_theme` Flutter package; the backend currently contains documentation only.
|
||||
|
||||
## Website development
|
||||
|
||||
Run the existing website commands from its new folder:
|
||||
|
||||
```sh
|
||||
cd website
|
||||
npm ci
|
||||
npm run dev -- --background --host 127.0.0.1
|
||||
npm run test
|
||||
npm run check
|
||||
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.
|
||||
From `website/`, manage the background server with `npm exec astro dev status`, `npm exec astro dev logs`, and `npm exec astro dev stop`. Build output is `website/dist/`. Use `website/` as the working directory for website hosting tools; its existing Sites identity is preserved in `website/.openai/hosting.json`.
|
||||
|
||||
## Content and launch configuration
|
||||
## Product boundaries
|
||||
|
||||
- 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`.
|
||||
The intended integration is: consumer frontend → sxchnge BFF → supported Sendico API.
|
||||
|
||||
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.
|
||||
- sxchnge owns consumer registration and sessions, the onboarding and exchange experience, and mapping authenticated consumers to stable organization-scoped Sendico customer references.
|
||||
- Sendico remains authoritative for payment execution, KYC records and verification, policy decisions, and limit enforcement.
|
||||
- The sxchnge organization, backend integration principal, and individual customer references are distinct identities. Consumers must not share the integration account's customer identity.
|
||||
- The BFF should use a supported API contract rather than copying Sendico's existing BFF or depending on its local internal modules.
|
||||
|
||||
Before implementing the product, define one complete transaction flow and agree on the Sendico customer, KYC, eligibility/limits, and customer-scoped payment contracts. These are intended boundaries, not claims that the required Sendico operations already exist.
|
||||
|
||||
## Delivery record
|
||||
|
||||
See [the implementation record](docs/implementation.md) for delivered scope, task mapping, validation, and PR dependencies. Repository workflow skills and frontend guidelines are stored locally under `.agents/skills/` and `frontend/AGENTS.md`.
|
||||
Reference in new issue
Block a user