36 lines
1.9 KiB
Markdown
36 lines
1.9 KiB
Markdown
# ZarinPal Merchant Analytics — Frontend
|
|
|
|
Persian RTL merchant analytics panel built with SvelteKit 2, Svelte 5, strict TypeScript, and Tailwind CSS v4.
|
|
|
|
Current state: design, specifications, implementation plan, and task list are approved. Phase 4 frontend implementation is authorized.
|
|
|
|
## Local development
|
|
|
|
The dashboard is a client-rendered static SvelteKit application. During development, Vite serves it at `http://127.0.0.1:5173` and proxies same-origin `/api` requests to the Go backend at `http://127.0.0.1:8080`. This preserves the backend-owned secure session model without storing credentials in browser storage.
|
|
|
|
```powershell
|
|
Copy-Item .env.example .env
|
|
npm ci
|
|
npm run dev -- --host 127.0.0.1
|
|
```
|
|
|
|
Open `http://127.0.0.1:5173`. The demo merchant credentials are created by the backend importer/bootstrap process; they are intentionally not stored in this repository.
|
|
|
|
Quality commands:
|
|
|
|
```powershell
|
|
npm run generate:api
|
|
npm run check
|
|
npm test
|
|
npm run build
|
|
```
|
|
|
|
`PUBLIC_API_BASE_URL` is public routing configuration, not a secret. Keep its default `/api/v1` for the local Vite proxy and the production same-origin Nginx proxy.
|
|
|
|
- [`DESIGN.md`](DESIGN.md): visual language, interaction rules, responsive behavior, and current design-system state.
|
|
- [`docs/DASHBOARD-SPEC.md`](docs/DASHBOARD-SPEC.md): approved product requirements and acceptance criteria for implementation planning.
|
|
- [`docs/DASHBOARD-UX-SPEC.md`](docs/DASHBOARD-UX-SPEC.md): detailed screen map, RTL layouts, async states, data presentation, accessibility, and authorized export workflows.
|
|
- [`tasks/plan.md`](tasks/plan.md): approved SDD Phase 2 dependency order, risk spikes, vertical slices, and approval gates.
|
|
- [`tasks/todo.md`](tasks/todo.md): approved SDD Phase 3 task list and dependency order for authorized Phase 4 implementation.
|
|
- [`AGENTS.md`](AGENTS.md): durable rules for future coding agents and contributors.
|