Comando copiado!
Guia de Instalação Completo

FederalDriver · Expo SDK 57 + EAS + Firebase + Leaflet + Google Maps

Copie e cole cada comando no PowerShell ou CMD na ordem dos passos. Tudo será criado dentro da pasta FederalDriver — build final para iOS e Android com Firebase, mapas Leaflet, Google Maps Platform e estética SaaS moderna.

1

Pré-requisitos do Sistema

Node.js · Git · Conta Expo · Conta Firebase · Google Cloud
Verificar versão do Node.js Requer Node.js 20.18.3 ou superior. Recomendado: LTS 22.
PS> node --version
Ajustar permissões do PowerShell Execute como Administrador. Libera scripts apenas nesta sessão.
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
Crie contas gratuitas em expo.dev, console.firebase.google.com e console.cloud.google.com (para Google Maps Platform).
2

Criar o Projeto FederalDriver

Expo SDK 57 · TypeScript · tudo dentro da pasta
Criar projeto FederalDriver Gera a pasta FederalDriver com todo o projeto React Native + TypeScript dentro.
PS> npx create-expo-app@latest FederalDriver --template default@sdk-57
Entrar na pasta FederalDriver Todos os comandos seguintes rodam DENTRO de FederalDriver.
PS> cd FederalDriver
3

Instalar o EAS CLI

Expo Application Services · build na nuvem
Instalar EAS CLI globalmente Necessário para compilar, assinar e enviar builds iOS/Android.
PS> npm install --global eas-cli
Verificar instalação do EAS Confirma que o EAS CLI foi instalado corretamente.
PS> eas --version
4

Login e Configuração do EAS

Autenticação · eas.json · credenciais
Fazer login na conta Expo Abre o navegador para autenticar. Use a conta criada em expo.dev.
PS> eas login
Configurar o projeto para EAS Cria o eas.json dentro de FederalDriver/ com perfis de build.
PS> eas build:configure
Para iOS, você precisará de uma conta Apple Developer ($99/ano). Para Android, conta Google Play Console ($25 único).
5

Bibliotecas Base do Projeto

Tudo instalado dentro de FederalDriver/node_modules
WebView + Clipboard + Ícones + SafeArea Combo completo para renderizar HTML5 e copiar comandos.
PS> npx expo install react-native-webview expo-clipboard @expo/vector-icons react-native-safe-area-context
Navegação + Animações + StatusBar React Navigation e Reanimated para UI premium fluida.
PS> npx expo install @react-navigation/native @react-navigation/native-stack react-native-screens react-native-gesture-handler react-native-reanimated expo-status-bar
Fontes customizadas + Haptics (feedback tátil) Inter/Poppins via expo-font e vibração sutil no copiar.
PS> npx expo install expo-font expo-haptics expo-splash-screen
Verificar e corrigir dependências Roda o check de versões compatíveis com o SDK 57.
PS> npx expo install --fix
6

Firebase SDK

Firebase JS SDK · React Native Firebase · Configuração nativa
O Expo suporta duas abordagens oficiais para Firebase: Firebase JS SDK (JavaScript puro, funciona no Expo Go) e React Native Firebase (SDK nativo, requer development build). Escolha uma delas conforme a necessidade do FederalDriver.

Opção A — Firebase JS SDK (Expo Go compatível)

Instalar Firebase JS SDK Requer firebase@12.0.0 ou superior. Versões anteriores causam erros de resolução de módulos ES.
PS> npx expo install firebase

Opção B — React Native Firebase (SDK nativo · requer Development Build)

React Native Firebase não funciona no Expo Go — usa código nativo que não está compilado no app padrão. É obrigatório criar um Development Build (Passo 7).
Instalar módulo base (app) Obrigatório antes de qualquer outro serviço Firebase (Auth, Firestore, Storage, etc.).
PS> npx expo install @react-native-firebase/app
Instalar Authentication + Firestore Módulos mais usados. Instale também Crashlytics ou Analytics se precisar.
PS> npx expo install @react-native-firebase/auth @react-native-firebase/firestore
Instalar Crashlytics + Analytics (opcional) Somente se o FederalDriver precisar de relatórios de falhas e analytics nativos.
PS> npx expo install @react-native-firebase/crashlytics @react-native-firebase/analytics
Configuração nativa obrigatória: baixe google-services.json (Android) e GoogleService-Info.plist (iOS) no Console do Firebase e referencie os caminhos no app.json.
7

Desenvolvimento Local

Expo Go · Dev Build · Live reload
Iniciar servidor de desenvolvimento Escaneie o QR Code com o app Expo Go para testar (use apenas se estiver com Firebase JS SDK).
PS> npx expo start
Iniciar limpando cache Use se encontrar bugs estranhos após instalar novas libs.
PS> npx expo start --clear
Criar Development Build (EAS) Obrigatório se estiver usando React Native Firebase ou expo-maps. Build de dev com as libs nativas.
PS> eas build --profile development --platform all
8

Builds de Produção (iOS + Android)

Compilação na nuvem EAS · projeto FederalDriver
Build Android (AAB para Play Store) Gera o arquivo .aab assinado do FederalDriver.
PS> eas build --platform android --profile production
Build iOS (IPA para App Store) Gera o .ipa assinado. Requer Apple Developer Account.
PS> eas build --platform ios --profile production
Build Android APK (para testes diretos) Gera .apk instalável fora da Play Store.
PS> eas build --platform android --profile preview
Build iOS + Android simultaneamente Dispara as duas compilações na nuvem em paralelo.
PS> eas build --platform all --profile production
9

Enviar para as Lojas

App Store · Google Play
Enviar para a Google Play Store Faz upload do AAB do FederalDriver para o track de produção.
PS> eas submit --platform android
Enviar para a App Store (iOS) Faz upload para o App Store Connect.
PS> eas submit --platform ios
10

Leaflet SDK para Mapas, Rotas e Entregas

OpenStreetMap · Leaflet Routing Machine · Clustering · Geolocalização
Leaflet é uma biblioteca de mapas open-source baseada em OpenStreetMap. No Expo, ela é renderizada dentro de um WebView — não é um componente nativo. Para um app de transporte de passageiros e entregas, você precisará de: mapas interativos, marcadores customizados (motorista, passageiro, pontos de entrega), rotas entre dois pontos e clustering para muitos marcadores.

10.1 — Opção Completa: expo-leaflet-navigation-map

Recomendado para começar. Este pacote já integra LeafletJS + OpenStreetMap + Leaflet Routing Machine em um único componente pronto para Expo. Desenha rotas entre dois pontos, exibe marcadores e painel de direções.
Instalar expo-leaflet-navigation-map Inclui LeafletJS, OpenStreetMap, Leaflet Routing Machine e WebView automaticamente.
PS> npx expo install expo-leaflet-navigation-map

10.2 — Opção com Controle Total: react-native-maps-leaflet

Permite controle total sobre marcadores, popups, tile layers e eventos. Não inclui routing machine nativo — para rotas, adicione leaflet-routing-machine separadamente ou use a opção 10.1.
Instalar react-native-maps-leaflet + dependências Instala o componente, WebView, React-Leaflet e Leaflet core. Versões fixas compatíveis entre si.
PS> npm install @netizen-teknologi/react-native-maps-leaflet; npx expo install react-native-webview; npm install react-leaflet@4.2.1 leaflet@1.9.4

10.3 — Alternativa: react-native-leaflet-view

Componente estável e amplamente usado. No Expo, requer expo-asset e expo-file-system para carregar o HTML do Leaflet a partir do bundle. Suporta marcadores, polígonos, polilinhas e formas.
Instalar react-native-leaflet-view + dependências Expo Inclui WebView, Asset e FileSystem — necessários para carregar o HTML do Leaflet no Expo.
PS> npm install react-native-leaflet-view; npx expo install react-native-webview expo-asset expo-file-system

10.4 — Rotas com Leaflet Routing Machine (para opções 10.2 e 10.3)

Adiciona cálculo e desenho de rotas entre dois pontos usando dados gratuitos do OpenStreetMap. Para instruções de navegação em texto, instale também osrm-text-instructions.
Instalar Leaflet Routing Machine Plugin de rotas para Leaflet. Use se estiver com react-native-maps-leaflet ou react-native-leaflet-view.
PS> npm install leaflet-routing-machine
Instalar instruções de navegação (opcional) Adiciona textos de instrução (ex.: “vire à direita na Av. Paulista”) nas rotas.
PS> npm install osrm-text-instructions

10.5 — Clustering de Marcadores (muitos pontos de entrega)

Para apps de entrega com dezenas ou centenas de pontos, o clustering agrupa marcadores próximos e melhora drasticamente a performance visual. Instale o plugin oficial leaflet.markercluster.
Instalar Leaflet.markercluster Plugin oficial de clustering. Requer Leaflet core (já instalado na opção 10.2).
PS> npm install leaflet.markercluster

10.6 — Geolocalização do Motorista / Passageiro

Instalar expo-location Obtém latitude/longitude do dispositivo para exibir no mapa e calcular rotas.
PS> npx expo install expo-location
Dica para transporte/entregas: combine expo-location para a posição do motorista, leaflet-routing-machine para a rota até o destino e leaflet.markercluster para agrupar vários pontos de entrega em uma única tela. Use react-native-maps-leaflet ou expo-leaflet-navigation-map para renderizar tudo dentro do Expo.
11

Google Maps Platform API

Mapas · Localização · Direções · Geocoding · Reverse Geocoding · Autocomplete
A Google Maps Platform oferece APIs nativas e serviços REST para todas as necessidades do FederalDriver. A chave de API é obtida no Google Cloud Console e deve ter as APIs específicas habilitadas: Maps SDK, Directions API, Geocoding API e Places API. Todas as bibliotecas abaixo são compatíveis com Expo SDK 57.

11.1 — Mapas Nativos: expo-maps

Recomendado para SDK 57. Usa Google Maps no Android e Apple Maps no iOS. Requer development build (não funciona no Expo Go). Configure a chave de API no app.json com expo.android.config.googleMaps.apiKey[reference:0].
Instalar expo-maps Mapas nativos com Google Maps (Android) e Apple Maps (iOS). Requer development build.
PS> npx expo install expo-maps

11.2 — Alternativa Multiplataforma: react-native-maps

Permite usar Google Maps em ambas as plataformas (iOS e Android). É a base para as bibliotecas de direções e geocoding abaixo. Requer development build.[reference:1]
Instalar react-native-maps Mapas com Google Maps em iOS e Android. Requer configuração de API key e development build.
PS> npx expo install react-native-maps

11.3 — Localização e Geocoding: expo-location

expo-location fornece geolocalização (getCurrentPositionAsync), geocoding (geocodeAsync: endereço → coordenadas) e reverse geocoding (reverseGeocodeAsync: coordenadas → endereço). Para usar o serviço do Google no reverse geocoding, passe { useGoogleMaps: true } como opção[reference:2].
Instalar expo-location Geolocalização, geocoding e reverse geocoding. Suporta Google Maps via opção no reverse geocode.
PS> npx expo install expo-location

11.4 — Direções e Rotas: react-native-maps-directions

Desenha a rota entre dois pontos usando a Google Directions API e renderiza uma Polyline no MapView. Requer react-native-maps e uma chave de API com a Directions API habilitada[reference:3].
Instalar react-native-maps-directions Componente MapViewDirections para desenhar rotas no mapa usando Google Directions API.
PS> npm install react-native-maps-directions

11.5 — Geocoding e Reverse Geocoding Alternativo: react-native-geocoding

Módulo dedicado que usa exclusivamente a Google Geocoding API. Oferece Geocoder.geocode(address) (endereço → coordenadas) e Geocoder.from(lat, lng) (coordenadas → endereço). Alternativa ao expo-location quando você quer controle total sobre a API do Google[reference:4].
Instalar react-native-geocoding Geocoding e reverse geocoding usando Google Geocoding API. Requer API key.
PS> npm install react-native-geocoding

11.6 — Autocomplete de Locais: react-native-google-places-autocomplete

Componente de autocomplete para busca de endereços e locais usando a Google Places API. Perfeito para campos de origem/destino no FederalDriver[reference:5].
Instalar react-native-google-places-autocomplete Autocomplete de endereços e locais com Google Places API. Requer API key com Places API habilitada.
PS> npx expo install react-native-google-places-autocomplete
Resumo do fluxo Google para o FederalDriver: use expo-location para obter a posição atual do motorista, react-native-google-places-autocomplete para o passageiro digitar origem/destino, react-native-maps-directions para desenhar a rota no react-native-maps, e react-native-geocoding (ou expo-location com useGoogleMaps: true) para converter coordenadas em endereços legíveis na confirmação da corrida/entrega.
📦

Referência de Dependências

Tudo instalado em FederalDriver/node_modules
react-native-webviewRenderiza HTML5 e mapas Leaflet dentro do app.
expo-clipboardCopiar texto para a área de transferência.
@expo/vector-iconsBiblioteca de ícones (Ionicons, Feather, etc).
react-native-safe-area-contextLida com notch, status bar e home indicator.
@react-navigation/nativeNavegação entre telas.
@react-navigation/native-stackStack nativo performático.
react-native-screensOtimização nativa de navegação.
react-native-gesture-handlerGestos nativos (swipe, pan, tap).
react-native-reanimatedAnimações fluidas a 60fps.
expo-status-barControla a status bar.
expo-fontCarrega fontes customizadas.
expo-hapticsFeedback tátil em botões.
expo-splash-screenControla a splash screen nativa.
firebaseFirebase JS SDK (Auth, Firestore, Storage, RTDB).
@react-native-firebase/appMódulo base do React Native Firebase (nativo).
@react-native-firebase/authAutenticação nativa Firebase.
@react-native-firebase/firestoreBanco de dados Firestore nativo.
@react-native-firebase/crashlyticsRelatórios de falhas nativos (opcional).
@react-native-firebase/analyticsAnalytics nativo (opcional).
expo-leaflet-navigation-mapLeaflet + OSM + Routing Machine em um único componente Expo.
@netizen-teknologi/react-native-maps-leafletMapas Leaflet interativos com marcadores, popups e tile layers.
react-leafletBindings React para Leaflet.
leafletBiblioteca core de mapas open-source (OpenStreetMap).
react-native-leaflet-viewComponente Leaflet via WebView para React Native/Expo.
leaflet-routing-machineCálculo e desenho de rotas entre dois pontos com OSM.
osrm-text-instructionsInstruções de navegação em texto para as rotas (opcional).
leaflet.markerclusterAgrupamento de marcadores para muitos pontos de entrega.
expo-locationGeolocalização, geocoding e reverse geocoding.
expo-assetCarrega o HTML do Leaflet no Expo.
expo-file-systemLeitura do arquivo HTML do Leaflet no Expo.
expo-mapsMapas nativos com Google Maps (Android) e Apple Maps (iOS).
react-native-mapsMapas com Google Maps em iOS e Android (multiplataforma).
expo-locationGeolocalização, geocoding e reverse geocoding (Google via opção).
react-native-maps-directionsDesenha rotas no mapa usando Google Directions API.
react-native-geocodingGeocoding e reverse geocoding com Google Geocoding API.
react-native-google-places-autocompleteAutocomplete de endereços e locais com Google Places API.
eas-cliCLI global para builds e submits.