Features, Services & Providers

Complete overview of all functionalities, services, and third-party providers supported by this boilerplate.


📋 Features Overview

FeatureStatusProvider(s)Documentation
Authentication✅ ReadySupabase, FirebaseAUTHENTICATION.md
Database✅ ReadySupabase, FirebaseDATABASE.md
Push Notifications✅ ReadyExpo, OneSignal, FirebaseNOTIFICATIONS.md
In-App Purchases✅ ReadyRevenueCatPAYMENTS.md, REVENUECAT.md
Analytics✅ ReadyMixpanel, Amplitude, PostHogANALYTICS.md
AI Content Generation✅ ReadyOpenAI, Anthropic, Gemini, OpenRouterAI.md
Error Tracking✅ ReadySentry, BugsnagERROR_TRACKING.md
Deep Linking✅ ReadyExpo RouterDEEP_LINKING.md
Internationalization✅ ReadyBuilt-in (i18n)I18N.md
Theming✅ ReadyBuilt-inSTYLING.md
Feature Flags✅ ReadyBuilt-inHOOKS.md
Performance Monitoring✅ ReadyBuilt-inHOOKS.md
App Rating✅ Readyexpo-store-reviewHOOKS.md
App Updates✅ ReadyBuilt-inHOOKS.md
Caching Layer✅ ReadyBuilt-inHOOKS.md
Accessibility✅ ReadyBuilt-inHOOKS.md

🔐 Authentication

Supported Providers

ProviderEmail/PasswordSocial AuthMagic LinkPhone
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

ProviderTypeReal-timeOfflineFile Storage
SupabasePostgreSQL
Firebase FirestoreNoSQL

Features

  • CRUD operations
  • Real-time subscriptions
  • Offline persistence
  • File upload/download
  • Row-level security (Supabase)
  • Security rules (Firebase)

🔔 Push Notifications

Supported Providers

ProviderPushLocalRich MediaScheduling
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

ProviderSubscriptionsOne-timeConsumablesRestore
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

ProviderEventsUser PropsFunnelsA/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

ProviderTextChatVisionTools
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

ProviderCrash ReportsBreadcrumbsPerformanceSource 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

MethodUniversal LinksApp LinksCustom 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

ComponentDescription
AvatarUser profile images with fallback
ButtonCustomizable button variants
CardContent container with shadows
CategoryChipTag/filter chips
EmptyStateEmpty list placeholders
ErrorBoundaryError handling wrapper
FilterModalFilter/sort modal
IconButtonIcon-only buttons
InputForm text inputs
OfflineBannerNetwork status indicator
SearchBarSearch input with icon
SettingsRowSettings list items
SkeletonLoaderLoading placeholders
StatCardStatistics display
ToastNotification toasts

🛠️ Utilities & Hooks

Custom Hooks

HookPurpose
useAppRatingApp store rating prompts
useAppUpdateApp update detection
useCacheCaching with TTL
useAccessibilityAccessibility features
useDebounceDebounced value updates
useFormForm state management
useKeyboardKeyboard visibility
useNetworkNetwork connectivity
useRefreshControlPull-to-refresh
useBiometricsBiometric authentication
useSecureStorageSecure data storage
useClipboardClipboard operations
useShareNative sharing
useAppStateApp lifecycle events

Utility Functions

  • formatDate - Date formatting
  • formatCurrency - Currency formatting
  • truncateText - Text truncation
  • generateId - Unique ID generation
  • validateEmail - Email validation
  • sleep - Async delay
  • debounce - Function debouncing
  • throttle - Function throttling

📱 Store Submission

Supported Stores

StoreGuidesAsset 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

PackagePurpose
expoCore framework
expo-routerFile-based navigation
@tanstack/react-queryServer state management
@nkzw/create-context-hookContext management
expo-secure-storeSecure storage
@react-native-async-storage/async-storagePersistent storage
lucide-react-nativeIcons

🚀 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

  1. Required for MVP: Authentication, Database
  2. Recommended: Error Tracking, Analytics
  3. Monetization: In-App Purchases
  4. Engagement: Push Notifications
  5. Enhancement: AI Features

📚 Additional Resources