Amirhossein Khalili dacbd3a328
Some checks failed
Frontend CI/CD / build (push) Has been cancelled
Frontend CI/CD / deploy (push) Has been cancelled
initial commit
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30
2026-05-19 20:58:15 +03:30

Frontend

Stack

  • Vite + React 18 with TypeScript.
  • @tanstack/react-query for data fetching and caching.
  • shadcn/ui primitives (button, card, tabs, dialog, etc.) with Tailwind CSS.
  • Sonner & Toast UI for notifications, Markdown rendering, RTL layout, and Persian-digit helpers.

Development

Install dependencies

npm install

Configure API base URL

cp .env.sample .env

Run dev server

npm run dev -- --host

Production build

npm run build

The Vite build reads VITE_API_BASE_URL from .env.

Features

  • Public site: homepage, events list/detail, blog list, auth flows, profile, payments.
  • Admin dashboard: staff-only portal with vertical tabs, user filtering, event filtering, popup detail with registrations/payments, and inline event editing/deletion.
  • Utils: Persian digit formatting, price conversion (Rial → Toman), shared API client with JWT token refresh handling, and helper components (scroll area, table, dialog).

Testing & linting

npm run lint

JavaScript/TypeScript linting is configured through ESLint + typescript-eslint. Run lint before commits to keep code healthy.

Description
No description provided
Readme 1.9 MiB
Languages
TypeScript 99.5%
CSS 0.4%