
expo-essentials é um modelo de kickass criado sobre a Expo, contendo uma estrutura de pastas gerenciável, suítes de teste e recursos essenciais para colocá-lo em funcionamento no seu próximo aplicativo.




(... e muito mais em breve!)
$ cd client
$ npm start
$ docker-compose up --build
| Comando | Descrição |
|---|---|
npm start | Iniciar o servidor de metrô Expo Expo |
npm run android | Inicia o aplicativo em um emulador Android |
npm run ios | Inicia o aplicativo em um emulador de iOS |
npm run web | Inicia o aplicativo no navegador da web |
npm run test | Desenvolvimento ativo de testes, assistir arquivos para alterações e re-executar todos os testes |
npm run testDebug | Debug, Console.logs e apenas reexuja o arquivo que foi alterado |
npm run testFinal | Exibe a cobertura do código na CLI e atualiza a cobertura do código HTML |
npm run updateSnapshots | Quando uma tela/componente é atualizada, os instantâneos de teste lançam um erro, isso os atualiza |
npm run eject | Ejetar o aplicativo Expo aos projetos nativos do Android e iOS (cautela: esta ação é irreversível) |
| Comando | Descrição |
|---|---|
npm run start:dev | Inicia o servidor com a configuração de desenvolvimento, reinicia o servidor em alterações de arquivo |
npm run start:staging | Inicia o servidor com a configuração de estadiamento |
npm run start:prod | Inicia o servidor com a configuração de produção |
npm run test:watch | Desenvolvimento ativo de testes, assistir arquivos para alterações e re-executar testes |
npm run test | Exibe a cobertura do código na CLI e atualiza a cobertura do código HTML |
Este modelo usa Kitten UI para controlar o tema. Para ler mais sobre isso, visite seus documentos.
client/app/config/colors.js.ttf ou .otf são preferidos) na pasta client/app/assets/fonts . (Por padrão, este modelo usa a fonte Jost).client/App.js : 
Você pode especificar cores diferentes a serem usadas para o modo de luz e o modo escuro , atualizando os valores no client/app/config/lightTheme.js e client/app/config/darkTheme.js , respectivamente.
(Este método usa ganchos de reação, portanto, trabalhe com componentes funcionais do React)

Este modelo suporta configurações de mudança perfeitamente para suas diferentes construções de ambiente baseadas em aplicativos (por exemplo, desenvolvimento , estadiamento e produção )
As configurações para o aplicativo móvel estão definidas no client/app/config/settings.js .
A configuração de desenvolvimento deve ser definida diretamente no objeto dev .

A configuração de estadiamento deve ser definida no objeto staging . Você pode defini -los diretamente ou adicioná -los através do arquivo client/.env DOT (se tiver dados confidenciais).

A configuração da produção deve ser definida no objeto prod e deve ser adicionada preferencialmente através do arquivo client/.env .


As configurações do servidor estão definidas no server/config/settings.js . O servidor ExpressJS é executado em um contêiner do Docker, para que você possa especificar qual arquivo de ambiente é conectado ao contêiner.

Por exemplo, uma configuração de ambiente de desenvolvimento pode ser definida como:
server/.env.dev : 
docker-compose.yml : 
Este modelo usa o FireBase para autenticação e gerenciamento do usuário. O FireBase oferece uma rica lista de fornecedores externos que você deseja adicionar no seu aplicativo mais tarde. Eles também lidam com o envio de e -mails para verificação de email , redefinição de senha e alteração de email .
Sugere-se que você crie três projetos de Firebase separados para o seu aplicativo: app-dev , app-staging e app-prod (para cada ambiente que seu aplicativo usa). Isso é para garantir que você possa testar seus ambientes independentes um do outro e evitar dados sobrepostos.
Crie configurações do WebApp em seus projetos de Firebase e adicione -os nos objetos de ambiente apropriados. 
O servidor usa o Firebase Admin SDK para criar um middleware de autenticação. Este middleware decodifica o token JWT enviado do aplicativo através de uma solicitação da API para identificar os usuários e suas funções.
server/config/firebase-service-account-<environment>.jsonserver/config/firebase-service-account-dev.json , server/config/firebase-service-account-staging.json , server/config/firebase-service-account-prod.json )


















