
expo-essentials 는 Expo 위에 구축 된 Kickass 템플릿으로 관리 가능한 폴더 구조, 테스트 스위트 및 다음 앱에서 실행할 수있는 필수 기능이 포함되어 있습니다.




(... 그리고 더 많은 것이 곧 올 것입니다!)
$ cd client
$ npm start
$ docker-compose up --build
| 명령 | 설명 |
|---|---|
npm start | Expo Metro Server를 시작하십시오 |
npm run android | 안드로이드 에뮬레이터에서 앱을 시작합니다 |
npm run ios | iOS 에뮬레이터에서 앱을 시작합니다 |
npm run web | 웹 브라우저에서 앱을 시작합니다 |
npm run test | 테스트의 활발한 개발, 변경 사항을보고 파일을보고 모든 테스트를 다시 실행합니다. |
npm run testDebug | Debug, Console.logs 및 변경된 파일 만 다시 실행합니다. |
npm run testFinal | CLI에 코드 커버리지를 표시하고 코드 커버리지 HTML을 업데이트합니다. |
npm run updateSnapshots | 화면/구성 요소가 업데이트되면 테스트 스냅 샷에 오류가 발생하면 업데이트됩니다. |
npm run eject | 엑스포 앱을 네이티브 안드로이드 및 iOS 프로젝트에 꺼내십시오 (주의 :이 조치는 돌이킬 수 없습니다) |
| 명령 | 설명 |
|---|---|
npm run start:dev | 개발 구성으로 서버를 시작하고 파일 변경에서 서버를 다시 시작합니다. |
npm run start:staging | 준비 구성으로 서버를 시작합니다 |
npm run start:prod | 프로덕션 구성으로 서버를 시작합니다 |
npm run test:watch | 테스트의 활발한 개발, 변경 사항을보고 파일을보고 테스트를 다시 실행합니다. |
npm run test | CLI에 코드 커버리지를 표시하고 코드 커버리지 HTML을 업데이트합니다. |
이 템플릿은 테마를 제어하기 위해 UI 새끼 고양이를 사용합니다. 자세한 내용은 문서를 방문하십시오.
client/app/config/colors.js 에 값을 저장.ttf 또는 .otf 가 선호)을 client/app/assets/fonts 폴더에 저장하십시오. (기본적 으로이 템플릿은 Jost 글꼴을 사용합니다).client/App.js 에서 글꼴 이름과 경로를 업데이트하십시오. 
client/app/config/lightTheme.js 및 client/app/config/darkTheme.js 의 값을 각각 업데이트하여 라이트 모드 및 다크 모드 에 사용할 다양한 색상을 지정할 수 있습니다.
(이 방법은 React Hook를 사용하므로 기능적 반응 구성 요소로 작업해야합니다).

이 템플릿은 앱 기반 다양한 환경 구축 (예 : 개발 , 스테이징 및 생산 )에 대한 완벽하게 변화하는 구성을 지원합니다.
모바일 앱의 설정은 client/app/config/settings.js 에서 설정됩니다.
개발 구성은 dev 객체에서 직접 설정해야합니다.

준비 구성은 staging 객체에서 설정해야합니다. 직접 설정하거나 client/.env dot 파일 (민감한 데이터가있는 경우)을 통해 추가 할 수 있습니다.

프로덕션 구성은 prod 객체에 설정되어야하며 client/.env 파일을 통해 추가되어야합니다.


서버의 설정은 server/config/settings.js 에서 설정됩니다. ExpressJS 서버는 Docker 컨테이너로 실행되므로 컨테이너에 연결되는 환경 파일을 지정할 수 있습니다.

예를 들어, 개발 환경 구성은 다음과 같이 설정할 수 있습니다.
server/.env.dev 파일 : 
docker-compose.yml 파일 에서이 환경 파일을 사용하여 지정하십시오. 
이 템플릿은 사용자 인증 및 관리에 Firebase를 사용합니다. Firebase는 나중에 앱에 추가하려는 풍부한 외부 제공 업체 목록을 제공합니다. 또한 이메일 확인 , 비밀번호 재설정 및 이메일 변경 에 대한 이메일 보내기를 처리합니다.
앱에 대한 3 개의 별도의 파이어베이스 프로젝트 ( app-dev , app-staging 및 app-prod (앱이 사용하는 각 환경에 대해)를 작성하는 것이 좋습니다. 이는 환경을 서로 독립적으로 테스트하고 겹치는 데이터를 방지 할 수 있도록하기위한 것입니다.
Firebase 프로젝트에서 WebApp 구성을 만들고 적절한 환경 객체에 추가하십시오. 
서버는 Firebase Admin SDK를 사용하여 인증 미들웨어를 만듭니다. 이 미들웨어는 API 요청을 통해 앱에서 보낸 JWT 토큰을 사용자 및 해당 역할을 식별합니다.
server/config/firebase-service-account-<environment>.json 에 저장하십시오.server/config/firebase-service-account-dev.json , server/config/firebase-service-account-staging.json , server/config/firebase-service-account-prod.json )


















