Modern Vue 3 + Vite + Tailwind app for sending money from Zimbabwe to the UK/SA, featuring mock auth, a rich dashboard, and live FX rates integration.
Wiremit Frontend - Money Transfer Application
A modern Vue.js application for Zimbabwean parents to send money to their children studying abroad in the UK and South Africa.
Features
Completed Requirements
1. Account Creation (Secure, Server-backed)
- Sign-up form with name, email, and password validation
- Strong password requirements (8+ chars, uppercase, lowercase, number)
- Credentials are processed server-side; session is stored in an HttpOnly cookie
- Terms and conditions acceptance
2. Login (Secure, Session-based)
- User authentication via Express backend with bcrypt password hashing
- HttpOnly; Secure; SameSite=Lax session cookie (Secure should be enabled in production/HTTPS)
- Vue Router guards call `/api/auth/me` instead of relying on browser storage
3. Dashboard with Three Main Sections:
Send Money Section
- USD amount input with min ($10) and max ($10,000) limits
- Country selection (UK/GBP or South Africa/ZAR)
- Real-time fee calculation (10% for GBP, 20% for ZAR)
- Live exchange rate conversion using API
- Transaction summary with rounded-up calculations
- Recipient details form
- Transaction creation stored server-side
Mock Ads Section
- Responsive carousel with 3+ advertisements
- Auto-rotating every 5 seconds
- Manual navigation controls
- Professional ad designs
Transaction History
- Displays 15+ transactions with pagination
- Shows a fixed set of baseline sample transactions that are identical for all users
- Merges baseline entries with each user's own server-backed transactions
- Per-user isolation for non-baseline entries (each user only sees their own)
4. FX Rates API Integration
- Real API integration: `
68976304250b078c2041c7fc.mo…`
- Backend fetch normalizes the array-of-objects into a flat rates object and exposes `/api/fx`
- Support for GBP and ZAR with extensibility for other currencies
Security Considerations
Implemented Security Features
1. Credential Storage
- Passwords are hashed wit …