Overview
d-sports-engage-native (package name:engage-native) is the native mobile app for D-Sports. It mirrors the core PWA experience on iOS and Android: wallet, shop, leaderboard, locker room, and profile.
Tech stack
| Category | Technology |
|---|---|
| Framework | Expo 54, React Native 0.81, React 19 |
| Auth | Clerk (Expo) |
| Payments | RevenueCat (fiat: Apple IAP, Google Play, Stripe) |
| Web3 | Thirdweb SDK (crypto checkout) |
| State | Zustand + MMKV persistence |
| Navigation | Expo Router 6 (file-based routing) |
| UI | Lucide React Native, Reanimated 4.1 |
| Package | Bun |
Features
- Wallet — Tokens, holdings, pack opening, crypto checkout (via PWA backend)
- Shop — Collectibles, cart, coin bundles, checkout
- Leaderboard — Rankings and filters
- Locker room — Social feed and engagement
- Profile — User profile and settings
- Theme — Dark/light mode (default dark)
- PWA-ready — Standalone display, responsive desktop layout, web hover states
Getting started
Project structure
Architecture patterns
- Screen pattern
- State management
- Checkout & payments
Screen files (
wallet.tsx, shop.tsx) contain only imports + JSX. All state, effects, and handlers live in dedicated hooks:hooks/use-wallet-screen.ts— wallet/token fetch, PIN verification, transactionshooks/use-shop-screen.ts— cart state, product queries, checkout logic
components/wallet/ and components/shop/ with barrel exports.Path aliases
Import using@/* alias (maps to project root):
Branding
| Element | Value |
|---|---|
| Base background | #0a0e1a |
| Accent gold | #F5C842 |
| Primary blue | #4169E1 |
| Default theme | Dark mode |
Ecosystem overview
See how the native app fits with the PWA, site, and Mic’d Up.
