Appearance
User dashboard guide
Authenticated users access https://yourdomain.com/dashboard.
Overview
Route: /dashboard
- Personal exchange statistics
- Recent activity summary
Create exchange
Route: /dashboard/exchange
- Select send and receive currencies.
- Enter amount (send or receive — app calculates the other).
- Review rate, fees, and totals.
- Submit to create a pending exchange.
After creation, user uploads proof on the transactions screen.
Transactions
Route: /dashboard/transactions
| Feature | Description |
|---|---|
| List | All user exchanges with status badges |
| Proof upload | Dynamic fields per currency configuration |
| Detail sheet | View exchange ID, amounts, admin notes |
Proof field types
Depends on admin-configured fields:
- Text, email, number, URL
- Textarea
- Select dropdown
- File / image (max 5 MB per file)
Files are uploaded to the API and stored on the backend under public/transaction-proofs/{EXCHANGE_ID}/.
Profile
Route: /dashboard/profile
- Update name, phone, address
- Change password (respects secure password policy if enabled)
- Avatar upload
Support
Route: /dashboard/support
- Open tickets with subject and message
- Attach files to replies
- Track status (open, in progress, closed)
Notifications
Route: /dashboard/notifications
Bell icon in dashboard layout — marks events such as exchange status changes.
Report bug / request feature
Route: /dashboard/report-feature
Submit feedback with optional image attachment (validated on the frontend).
IP block notice
If an IP is blocked in the admin panel, the API returns 403 on sign-in, sign-up, dashboard actions, exchange creation, support tickets, and similar routes.
The exchange preview page calls GET /api/dashboard/ip-block/status (always allowed) to show the block reason before the user submits.
Administrators manage blocks under Admin → IP Blocking; admin API routes are not blocked by customer IP rules.
Sign in / sign up
| Route | Purpose |
|---|---|
/signin | Login (redirects to dashboard or admin) |
/signup | Register (first user = admin — see First admin) |
/forgot-password | Request reset email |
/reset-password | Set new password from email link |
Social login buttons appear when enabled in admin.
API prefix (dashboard)
text
{API_URL}/api/dashboard/...See routes/api/dashboard.php for endpoints.