How supremeanalytics-limited/numvault works
NumVault is a mobile app for buying temporary phone numbers to verify services, with wallet-based payments and refunds, order tracking, and a student referral-lead programme. The main customer journey is browse a service and country, purchase a number, then receive its verification code; users can also fund a wallet and track orders. The app delegates number-provider access and payment operations to backend services, while Supabase supports authentication and application data. The README documents refunds, payout review, and lead-program rules; their detailed wiring is not confirmed by the sampled source.
Main entry points: orderService.ts Order service · acquisitionService.ts Acquisition service · index.tsx Number catalog · wallet.tsx Wallet screen
Components 25
Mobile app
- Number catalog
app/(tabs)/index.tsx - Checkout
app/checkout.tsx - Order history
app/(tabs)/orders.tsx - Wallet screen
app/(tabs)/wallet.tsx - Profile
app/(tabs)/profile.tsx - Lead programme
app/acquisition-program.tsx - Admin console
app/admin.tsx - Order state
contexts/OrderContext.tsx - Wallet state
contexts/WalletContext.tsx - Login and onboarding
app/login.tsx
App services
- Order service
services/orderService.ts - Number provider service
services/sociallyService.ts - Paystack service
services/paystackService.ts - Acquisition service
services/acquisitionService.ts - Settings service
services/settingsService.ts
Backend functions
- Number proxy
supabase/functions/socially-proxy/index.ts - Number purchase
supabase/functions/purchase-number/index.ts - Wallet top-up
supabase/functions/wallet-topup/index.ts - Referral code
supabase/functions/apply-referral-code/index.ts - Payment webhook
supabase/functions/paystack-webhook/index.ts
Authentication
- Supabase auth
template/auth/supabase/service.ts
Other components
- Customer
- Supabase
- Socially SMS provider
- Paystack
Connections 29
- Customer → Number catalog: browses
- Number catalog → Number provider service: loads catalog
- Number provider service → Number proxy: invokes
- Number proxy → Socially SMS provider: proxies requests
- Customer → Checkout: selects number
- Checkout → Order service: creates order
- Order service → Number purchase: requests purchase
- Number purchase → Socially SMS provider: requests number
- Number purchase → Supabase: records order
- Order history → Order state: reads orders
- Order state → Order service: loads orders
- Order service → Supabase: reads and updates
- Customer → Wallet screen: opens wallet
- Wallet screen → Wallet state: uses state
- Wallet state → Supabase: reads wallet
- Wallet screen → Paystack service: starts top-up
- Paystack service → Wallet top-up: requests top-up
- Wallet top-up → Paystack: initiates payment
- Paystack → Payment webhook: sends events
- Payment webhook → Supabase: updates records
- Profile → Lead programme: opens programme
- Lead programme → Acquisition service: loads programme
- Acquisition service → Supabase: reads programme data
- Acquisition service → Referral code: submits code
- Admin console → Acquisition service: manages programme
- Login and onboarding → Supabase auth: authenticates
- Supabase auth → Supabase: uses auth
- Number catalog → Settings service: reads pricing setting
- Number provider service → Settings service: loads fee setting