
expo-essentials es una plantilla Kickass construida en la parte superior de Expo, que contiene una estructura de carpeta manejable, suites de prueba y características esenciales para ponerlo en funcionamiento en su próxima aplicación.




(... ¡y muchos más llegarán pronto!)
$ cd client
$ npm start
$ docker-compose up --build
| Dominio | Descripción |
|---|---|
npm start | Iniciar el servidor de metro de Expo |
npm run android | Inicia la aplicación en un emulador de Android |
npm run ios | Inicia la aplicación en un emulador de iOS |
npm run web | Inicia la aplicación en el navegador web |
npm run test | Desarrollo activo de pruebas, observar archivos para cambios y volver a ejecutar todas las pruebas |
npm run testDebug | Debug, console.logs y solo vuelve a ejecutar el archivo que se cambió |
npm run testFinal | Muestra la cobertura de código en CLI y actualiza la cobertura de código HTML |
npm run updateSnapshots | Cuando se actualiza una pantalla/componente, las instantáneas de prueba lanzarán un error, esto las actualiza |
npm run eject | Expulsar la aplicación Expo a los proyectos nativos de Android e iOS (precaución: esta acción es irreversible) |
| Dominio | Descripción |
|---|---|
npm run start:dev | Inicia el servidor con la configuración de desarrollo, reinicia el servidor en los cambios de archivo |
npm run start:staging | Inicia el servidor con la configuración de puesta en escena |
npm run start:prod | Inicia el servidor con la configuración de producción |
npm run test:watch | Desarrollo activo de pruebas, observar archivos para cambios y volver a ejecutar pruebas |
npm run test | Muestra la cobertura de código en CLI y actualiza la cobertura de código HTML |
Esta plantilla usa UI Kitten para controlar el tema. Para leer más al respecto, asegúrese de visitar sus documentos.
client/app/config/colors.js.ttf o .otf ) en la carpeta client/app/assets/fonts . (Por defecto, esta plantilla usa la fuente Jost).client/App.js : 
Puede especificar diferentes colores que se utilizarán para el modo de luz y el modo oscuro actualizando los valores en client/app/config/lightTheme.js y client/app/config/darkTheme.js respectivamente.
(Este método usa ganchos react, así que asegúrese de trabajar con componentes reactos funcionales)

Esta plantilla admite configuraciones cambiantes sin problemas para sus diferentes compilaciones de entorno basadas en su aplicación (por ejemplo, desarrollo , puesta en escena y producción )
La configuración para la aplicación móvil se establece en client/app/config/settings.js .
La configuración de desarrollo debe establecerse en el objeto dev directamente.

La configuración de estadificación debe establecerse en el objeto staging . Puede configurarlos directamente, o puede agregarlos a través del archivo client/.env DOT (si tiene datos confidenciales).

La configuración de producción debe establecerse en el objeto prod , y preferiblemente debe agregarse a través del archivo client/.env .


La configuración para el servidor se establece en server/config/settings.js . El servidor ExpressJS se ejecuta en un contenedor Docker, por lo que puede especificar qué archivo de entorno se enchufa al contenedor.

Por ejemplo, una configuración de entorno de desarrollo se puede configurar como:
server/.env.dev : 
docker-compose.yml : 
Esta plantilla utiliza Firebase para la autenticación y administración del usuario. Firebase ofrece una rica lista de proveedores externos que desea agregar en su aplicación más adelante. También manejan el envío de correos electrónicos para la verificación por correo electrónico , el reinicio de la contraseña y el cambio de correo electrónico .
Se sugiere que cree 3 proyectos de Firebase separados para su aplicación: app-dev , app-staging y app-prod (para cada entorno que usa su aplicación). Esto es para garantizar que pueda probar sus entornos independientes entre sí y evitar datos superpuestos.
Cree configuraciones de la aplicación web en sus proyectos de Firebase y agrégalas en los objetos de entorno apropiados. 
El servidor utiliza el SDK de administrador de Firebase para crear un middleware de autenticación. Este middleware decodifica el token JWT enviado desde la aplicación a través de una solicitud de API para identificar a los usuarios y sus roles.
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 )


















