Para que este modelo funcione, você precisa ativar a discórdia como um provedor de OAuth. Você pode encontrar as opções sociais sob User & Authentication / Social Providers no painel do funcionário
Se você alterar qualquer configuração aqui fora da adição da discórdia, pode ser necessário atualizar seu código Expo para lidar com todos os requisitos que você altera.
Ele usa turborepo e contém:
.github
└─ workflows
└─ CI with pnpm cache setup
.vscode
└─ Recommended extensions and settings for VSCode users
apps
├─ expo
└─ next.js
├─ Next.js 13
├─ React 18
└─ E2E Typesafe API Server & Client
packages
├─ api
| └─ tRPC v10 router definition
└─ db
└─ typesafe db-calls using Prisma
Para executá -lo, siga as etapas abaixo:
# Install dependencies
pnpm i
# Configure environment variables.
# There is an `.env.example` in the root directory you can use for reference
cp .env.example .env
# Push the Prisma schema to your database
pnpm db-push A Expo não usa o .ENV para a chave publicável, portanto, você precisará acessar apps/expo/app.config.ts e adicioná -lo lá.
const CLERK_PUBLISHABLE_KEY = "your-clerk-publishable-key";
dev -ScriptNOTA: Se você deseja usar um telefone físico com a Expo Go, basta executar
pnpm deve digitalizar o código QR.
dev em apps/expo/package.json para abrir o simulador iOS. + "dev": "expo start --ios",pnpm dev na pasta raiz do projeto. dev em apps/expo/package.json para abrir o emulador Android. + "dev": "expo start --android",pnpm dev na pasta raiz do projeto. NOTA Se você estiver construindo localmente, precisará inserir o seu INV corretamente, por exemplo, usando
pnpm with-env next build
Não recomendamos a implantação de um banco de dados SQLite em ambientes sem servidor, pois os dados não seriam persistidos. Eu provisionei um rápido banco de dados PostgreSQL na Ferrovia, mas você pode, obviamente, usar qualquer outro provedor de banco de dados. Verifique se o esquema PRISMA está atualizado para usar o banco de dados correto.
Vamos implantar o aplicativo Next.js no vercel. Se você já implantou um aplicativo turborepo lá, as etapas são bastante simples. Você também pode ler o guia oficial do Turborepo sobre a implantação do Vercel.
apps/nextjs como o diretório raiz e aplique as seguintes configurações de construção: 
O comando de instalação filtra o pacote Expo e salva alguns segundos (e tamanho do cache) da instalação de dependência. O comando Build nos faz construir o aplicativo usando o Turbo.
Adicione o seu DATABASE_URL , NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY e CLERK_SECRET_KEY ambiente de ambiente.
Feito! Seu aplicativo deve implantar com sucesso. Atribua seu domínio e use isso em vez de localhost para o url no aplicativo Expo, para que seu aplicativo Expo possa se comunicar com o back -end quando você não estiver em desenvolvimento.
A implantação do seu aplicativo Expo funciona de maneira um pouco diferente em comparação com o Next.js na web. Em vez de "implantar" o seu aplicativo on -line, você precisa enviar compilações de produção do seu aplicativo para as lojas de aplicativos, como a Apple App Store e o Google Play. Você pode ler a distribuição completa do seu aplicativo, incluindo as melhores práticas, nos documentos da Expo.
Vamos começar configurando o EAS Build, que é abrevido para serviços de aplicativos da Expo. O serviço Build ajuda a criar construções do seu aplicativo, sem exigir uma configuração completa de desenvolvimento nativo. Os comandos abaixo são um resumo de criar sua primeira construção.
// Install the EAS CLI
$ pnpm add -g eas-cli
// Log in with your Expo account
$ eas login
// Configure your Expo app
$ cd apps/expo
$ eas build:configureApós a configuração inicial, você pode criar sua primeira construção. Você pode construir para plataformas Android e iOS e usar diferentes perfis de construção do EAS.json para criar construções ou desenvolvimento de produção ou compilações de teste. Vamos fazer uma produção para iOS.
$ eas build --platform ios --profile production
Se você não especificar o sinalizador
--profile, o EAS usa o perfilproductionpor padrão.
Agora que você tem sua primeira construção de produção, você pode enviar isso para as lojas. O EAS Submit pode ajudá -lo a enviar a compilação para as lojas.
$ eas submit --platform ios --latest
Você também pode combinar construção e envio em um único comando, usando
eas build ... --auto-submit.
Antes de obter seu aplicativo nas mãos de seus usuários, você precisará fornecer informações adicionais às lojas de aplicativos. Isso inclui capturas de tela, informações sobre aplicativos, políticas de privacidade, etc. , enquanto ainda estão em visualização , os metadados do EAS podem ajudá -lo na maioria dessas informações.
Se você estiver usando os provedores sociais da OAuth com funcionário, por exemplo, Google, Apple, Facebook, etc ..., você deve colocar na lista de seu próprio URL de redirecionamento OAuth para o aplicativo Expo no painel do funcionário.
Em apps/expo/app.config.ts , adicione um scheme que será usado para identificar seu aplicativo independente.
import { ExpoConfig , ConfigContext } from "@expo/config" ;
const CLERK_PUBLISHABLE_KEY = "your-clerk-publishable-key" ;
const defineConfig = ( _ctx : ConfigContext ) : ExpoConfig => ( {
name : "expo" ,
slug : "expo" ,
scheme : "your-app-scheme" ,
// ...
} ) ;Em seguida, no painel do funcionário, vá para Usuário e Autenticação> Conexões Sociais> Configurações e adicione o esquema do seu aplicativo e redirecione o URL para o campo URLS de redirecionamento :
your-app-scheme://oauth-native-callback Aqui, your-app-scheme corresponde ao scheme definido em app.config.ts e oauth-native-callback corresponde ao URL de redirecionamento definido ao autenticar com os provedores sociais. Consulte SignInwithoauth.tsx para referência.
Você pode encontrar mais informações sobre isso na documentação da Expo.
Agora você deve poder fazer login com seus provedores sociais na construção do aplicativo Testflight.
Depois que tudo for aprovado, seus usuários poderão finalmente apreciar seu aplicativo. Digamos que você viu um pequeno erro de digitação; Você terá que criar uma nova compilação, enviá -la para as lojas e aguardar a aprovação antes de resolver esse problema. Nesses casos, você pode usar a Atualização do EAS para enviar rapidamente um pequeno bugfix para seus usuários sem passar por esse longo processo. Vamos começar configurando a atualização do EAS.
As etapas abaixo resumem o início do guia de atualização do EAS.
// Add the ` expo-updates ` library to your Expo app
$ cd apps/expo
$ pnpm expo install expo-updates
// Configure EAS Update
$ eas update:configureAntes que possamos enviar atualizações para o seu aplicativo, você deve criar uma nova compilação e enviá -la para as lojas de aplicativos. Para todas as alterações que incluem APIs nativas, você deve reconstruir o aplicativo e enviar a atualização para as lojas de aplicativos. Veja as etapas 2 e 3.
Agora que tudo está pronto para atualizações, vamos criar uma nova atualização para compilações production . Com a bandeira --auto , a EAS UPDATE usa seu nome atual de ramificação Git e mensagem de confirmação para esta atualização. Veja como a atualização do EAS funciona para obter mais informações.
$ cd apps/expo
$ eas update --autoSuas atualizações da OTA (Over the Air) devem sempre seguir as regras da App Store. Você não pode alterar a funcionalidade principal do seu aplicativo sem obter a aprovação da App Store. Mas essa é uma maneira rápida de atualizar seu aplicativo para pequenas alterações e correções de bugs.
Feito! Agora que você criou sua construção de produção, enviou -a às lojas e instalou a Atualização do EAS, você está pronto para qualquer coisa!
A pilha se origina do Create-T3-Turbo.