On-demand car wash booking platform with M-Pesa and crypto payments.
Create a .env file in the root directory with the following variables:
# Backend API
VITE_API_BASE_URL=https://trackwash-api.onrender.com
# Supabase (auto-configured by Lovable Cloud)
VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_key
VITE_SUPABASE_PROJECT_ID=your_project_id
# WalletConnect (for crypto payments)
VITE_WALLETCONNECT_PROJECT_ID=your_walletconnect_project_id- M-Pesa Payments: Real Daraja STK Push integration
- Crypto Payments: Connect wallet via WalletConnect
- Supabase Auth: Email/password authentication
- Booking Management: Create, track, and manage car wash bookings
-
Sign Up / Sign In
- Navigate to
/auth - Create a new account with email/password
- Sign out and sign back in
- Session should persist across page refresh
- Navigate to
-
Create Booking
- Navigate to
/booking/new - Select service type, package, vehicle
- Set schedule and location
- Proceed to payment
- Navigate to
-
Pay with M-Pesa
- Enter phone number (07XXXXXXXX or +2547XXXXXXXX)
- Click "Send STK Push"
- Check phone for STK prompt
- Enter M-Pesa PIN
- Wait for confirmation (polling every 2.5s)
- Success: Receipt number shown, redirected to booking detail
- Failure: Error shown, retry available
-
Connect Wallet (Crypto)
- Click "Connect Wallet" on crypto payment option
- Select wallet (MetaMask or WalletConnect)
- Approve connection
- Wallet address, chain, and balance displayed
- Address saved to booking record
- Vite + React + TypeScript
- Tailwind CSS + shadcn/ui
- Supabase (Auth + Database)
- wagmi + viem (Web3)
- M-Pesa Daraja API
npm install
npm run devOpen Lovable and click on Share -> Publish.