2026-08-20 23:19:04 +03:30

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.

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:

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: visual language, interaction rules, responsive behavior, and current design-system state.
  • docs/DASHBOARD-SPEC.md: approved product requirements and acceptance criteria for implementation planning.
  • docs/DASHBOARD-UX-SPEC.md: detailed screen map, RTL layouts, async states, data presentation, accessibility, and authorized export workflows.
  • tasks/plan.md: approved SDD Phase 2 dependency order, risk spikes, vertical slices, and approval gates.
  • tasks/todo.md: approved SDD Phase 3 task list and dependency order for authorized Phase 4 implementation.
  • AGENTS.md: durable rules for future coding agents and contributors.
Description
No description provided
Readme 920 KiB
Languages
Svelte 74.1%
TypeScript 24.1%
CSS 1.5%
HTML 0.2%