Features, Services & Providers
Complete overview of all functionalities, services, and third-party providers supported by this boilerplate.
📋 Features Overview
| Feature | Status | Provider(s) | Documentation |
|---|---|---|---|
| Authentication | ✅ Ready | Supabase, Firebase | AUTHENTICATION.md |
| Database | ✅ Ready | Supabase, Firebase | DATABASE.md |
| Push Notifications | ✅ Ready | Expo, OneSignal, Firebase | NOTIFICATIONS.md |
| In-App Purchases | ✅ Ready | RevenueCat | PAYMENTS.md, REVENUECAT.md |
| Analytics | ✅ Ready | Mixpanel, Amplitude, PostHog | ANALYTICS.md |
| AI Content Generation | ✅ Ready | OpenAI, Anthropic, Gemini, OpenRouter | AI.md |
| Error Tracking | ✅ Ready | Sentry, Bugsnag | ERROR_TRACKING.md |
| Deep Linking | ✅ Ready | Expo Router | DEEP_LINKING.md |
| Internationalization | ✅ Ready | Built-in (i18n) | I18N.md |
| Theming | ✅ Ready | Built-in | STYLING.md |
| Feature Flags | ✅ Ready | Built-in | HOOKS.md |
| Performance Monitoring | ✅ Ready | Built-in | HOOKS.md |
| App Rating | ✅ Ready | expo-store-review | HOOKS.md |
| App Updates | ✅ Ready | Built-in | HOOKS.md |
| Caching Layer | ✅ Ready | Built-in | HOOKS.md |
| Accessibility | ✅ Ready | Built-in | HOOKS.md |
🔐 Authentication
Supported Providers
| Provider | Email/Password | Social Auth | Magic Link | Phone |
|---|---|---|---|---|
| Supabase | ✅ | ✅ Google, Apple, GitHub | ✅ | ✅ |
| Firebase | ✅ | ✅ Google, Apple, Facebook | ✅ | ✅ |
Social Authentication
- Google Sign-In - OAuth 2.0
- Apple Sign-In - Sign in with Apple (required for iOS)
- GitHub - OAuth (Supabase)
- Facebook - OAuth (Firebase)
Features
- Session management
- Token refresh
- Secure storage (expo-secure-store)
- Biometric authentication support
- Password reset flow
- Email verification
🗄️ Database
Supported Providers
| Provider | Type | Real-time | Offline | File Storage |
|---|---|---|---|---|
| Supabase | PostgreSQL | ✅ | ✅ | ✅ |
| Firebase Firestore | NoSQL | ✅ | ✅ | ✅ |
Features
- CRUD operations
- Real-time subscriptions
- Offline persistence
- File upload/download
- Row-level security (Supabase)
- Security rules (Firebase)
🔔 Push Notifications
Supported Providers
| Provider | Push | Local | Rich Media | Scheduling |
|---|---|---|---|---|
| Expo Notifications | ✅ | ✅ | ✅ | ✅ |
| OneSignal | ✅ | ✅ | ✅ | ✅ |
| Firebase Cloud Messaging | ✅ | ❌ | ✅ | ✅ |
Features
- Push token management
- Local notifications
- Scheduled notifications
- Deep linking from notifications
- Badge management
- Notification categories/actions
💳 In-App Purchases
Supported Provider
| Provider | Subscriptions | One-time | Consumables | Restore |
|---|---|---|---|---|
| RevenueCat | ✅ | ✅ | ✅ | ✅ |
Features
- Subscription management
- One-time purchases
- Consumable products
- Purchase restoration
- Entitlement checking
- Cross-platform sync
- Promotional offers
- Paywalls
Supported Stores
- Apple App Store
- Google Play Store
📊 Analytics
Supported Providers
| Provider | Events | User Props | Funnels | A/B Testing |
|---|---|---|---|---|
| Mixpanel | ✅ | ✅ | ✅ | ✅ |
| Amplitude | ✅ | ✅ | ✅ | ✅ |
| PostHog | ✅ | ✅ | ✅ | ✅ |
Features
- Custom event tracking
- User identification
- User properties
- Session tracking
- Screen views
- Revenue tracking
- Cohort analysis
🤖 AI Content Generation
Supported Providers
| Provider | Text | Chat | Vision | Tools |
|---|---|---|---|---|
| Rork AI | ✅ | ✅ | ✅ | ✅ |
| OpenAI | ✅ GPT-4.5, o3 | ✅ | ✅ | ✅ |
| Anthropic | ✅ Claude 4, 3.7 | ✅ | ✅ | ✅ |
| Google Gemini | ✅ Gemini 2.5 | ✅ | ✅ | ✅ |
| OpenRouter | ✅ Multi-provider | ✅ | ✅ | ✅ |
Available Models
OpenAI
- GPT-4.5 Preview, GPT-4o, GPT-4o Mini
- o3, o3-mini, o1, o1-mini (reasoning)
Anthropic
- Claude Sonnet 4, Claude 3.7 Sonnet
- Claude 3.5 Sonnet/Haiku, Claude 3 Opus
Google Gemini
- Gemini 2.5 Pro/Flash
- Gemini 2.0 Flash/Flash Lite
OpenRouter
- All major providers via single API
- Llama 4 Maverick/Scout
- DeepSeek R1/V3
- Qwen 3 235B
- Mistral Large 2
Features
- Text generation
- Chat completions
- Object generation (structured output with Zod)
- Vision/image understanding
- Image generation
- Image editing
- Speech-to-text
- AI agents with tools
- Multi-provider switching
🐛 Error Tracking
Supported Providers
| Provider | Crash Reports | Breadcrumbs | Performance | Source Maps |
|---|---|---|---|---|
| Sentry | ✅ | ✅ | ✅ | ✅ |
| Bugsnag | ✅ | ✅ | ✅ | ✅ |
Features
- Automatic crash reporting
- Manual error capture
- Breadcrumb trails
- User context
- Release tracking
- Performance monitoring
- Source map support
🔗 Deep Linking
Supported Methods
| Method | Universal Links | App Links | Custom Scheme |
|---|---|---|---|
| Expo Router | ✅ | ✅ | ✅ |
Features
- File-based routing
- Universal links (iOS)
- App links (Android)
- Custom URL schemes
- Deferred deep linking
- Parameter passing
🌍 Internationalization (i18n)
Built-in Support
- Multiple language support
- RTL layout support
- Dynamic language switching
- Pluralization
- Date/time formatting
- Number formatting
- Currency formatting
Default Languages
- English (en)
- Spanish (es)
- Easily extensible
🎨 UI Components
Included Components
| Component | Description |
|---|---|
Avatar | User profile images with fallback |
Button | Customizable button variants |
Card | Content container with shadows |
CategoryChip | Tag/filter chips |
EmptyState | Empty list placeholders |
ErrorBoundary | Error handling wrapper |
FilterModal | Filter/sort modal |
IconButton | Icon-only buttons |
Input | Form text inputs |
OfflineBanner | Network status indicator |
SearchBar | Search input with icon |
SettingsRow | Settings list items |
SkeletonLoader | Loading placeholders |
StatCard | Statistics display |
Toast | Notification toasts |
🛠️ Utilities & Hooks
Custom Hooks
| Hook | Purpose |
|---|---|
useAppRating | App store rating prompts |
useAppUpdate | App update detection |
useCache | Caching with TTL |
useAccessibility | Accessibility features |
useDebounce | Debounced value updates |
useForm | Form state management |
useKeyboard | Keyboard visibility |
useNetwork | Network connectivity |
useRefreshControl | Pull-to-refresh |
useBiometrics | Biometric authentication |
useSecureStorage | Secure data storage |
useClipboard | Clipboard operations |
useShare | Native sharing |
useAppState | App lifecycle events |
Utility Functions
formatDate- Date formattingformatCurrency- Currency formattingtruncateText- Text truncationgenerateId- Unique ID generationvalidateEmail- Email validationsleep- Async delaydebounce- Function debouncingthrottle- Function throttling
📱 Store Submission
Supported Stores
| Store | Guides | Asset Templates |
|---|---|---|
| Apple App Store | ✅ | ✅ |
| Google Play Store | ✅ | ✅ |
Included
- Submission guidelines
- Screenshot specifications
- Icon requirements
- Metadata templates
- Review checklist
🔧 Development Tools
Testing
- Jest configuration
- React Native Testing Library
- Component testing patterns
- Hook testing utilities
Code Quality
- ESLint configuration
- TypeScript strict mode
- Prettier formatting
Build & Deploy
- EAS Build support
- Environment configuration
- CI/CD ready
📦 Core Dependencies
| Package | Purpose |
|---|---|
expo | Core framework |
expo-router | File-based navigation |
@tanstack/react-query | Server state management |
@nkzw/create-context-hook | Context management |
expo-secure-store | Secure storage |
@react-native-async-storage/async-storage | Persistent storage |
lucide-react-native | Icons |
🚀 Quick Reference
Environment Variables
# Authentication
EXPO_PUBLIC_SUPABASE_URL=
EXPO_PUBLIC_SUPABASE_ANON_KEY=
# Payments
REVENUECAT_API_KEY_IOS=
REVENUECAT_API_KEY_ANDROID=
# Analytics
EXPO_PUBLIC_MIXPANEL_TOKEN=
# Error Tracking
EXPO_PUBLIC_SENTRY_DSN=
# AI (Optional - Rork AI works without keys)
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
GEMINI_API_KEY=
OPENROUTER_API_KEY=
# Notifications
ONESIGNAL_APP_ID=
Provider Setup Priority
- Required for MVP: Authentication, Database
- Recommended: Error Tracking, Analytics
- Monetization: In-App Purchases
- Engagement: Push Notifications
- Enhancement: AI Features