
expo-essentials 、Expoの上に構築されたKickassテンプレートで、管理可能なフォルダー構造、テストスイート、および次のアプリで起きて実行するための重要な機能が含まれています。




(...そしてもうすぐ来ます!)
$ cd client
$ npm start
$ docker-compose up --build
| 指示 | 説明 |
|---|---|
npm start | Expo Metro Serverを開始します |
npm run android | Androidエミュレータでアプリを起動します |
npm run ios | iOSエミュレータでアプリを起動します |
npm run web | Webブラウザでアプリを起動します |
npm run test | テストの積極的な開発、変更のためにファイルを監視し、すべてのテストを再実行する |
npm run testDebug | デバッグ、コンソール。ログと変更されたファイルのみを再実行する |
npm run testFinal | CLIにコードカバレッジを表示し、コードカバレッジHTMLを更新します |
npm run updateSnapshots | 画面/コンポーネントが更新されると、テストスナップショットがエラーが発生し、これが更新されます |
npm run eject | ExpoアプリをネイティブAndroidおよび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に値を保存しますclient/app/assets/fontsフォルダーに、目的のフォントファイル( .ttfまたは.otfが推奨されます)を保存します。 (デフォルトでは、このテンプレートはJOSTフォントを使用します)。client/App.jsのフォント名とパスを更新します: 
client/app/config/lightTheme.jsとclient/app/config/darkTheme.jsの値を更新することにより、ライトモードとダークモードに使用するさまざまな色を指定できます。
(この方法ではReactフックを使用しているため、機能的な反応コンポーネントを使用して作業してください)

このテンプレートは、アプリベースのさまざまな環境ビルド(開発、ステージング、制作など)の構成をシームレスに変更することをサポートします
モバイルアプリの設定はclient/app/config/settings.jsで設定されています。
開発構成は、 devオブジェクトに直接設定する必要があります。

ステージング構成は、 stagingオブジェクトで設定する必要があります。それらを直接設定するか、 client/.envドットファイルを介してそれらを追加することができます(機密データがある場合)。

生産構成はprodオブジェクトに設定する必要があり、できればclient/.envファイルを介して追加する必要があります。


サーバーの設定はserver/config/settings.jsで設定されています。 ExpressJSサーバーはDockerコンテナで実行されるため、どの環境ファイルがコンテナに接続されるかを指定できます。

たとえば、開発環境構成は次のように設定できます。
server/.env.devファイル: 
docker-compose.ymlファイルでこの環境ファイルを使用して指定します。 
このテンプレートは、ユーザー認証と管理にFireBaseを使用します。 FireBaseは、後でアプリに追加したい外部プロバイダーの豊富なリストを提供します。また、電子メールの確認、パスワードのリセット、電子メールの変更のために電子メールの送信を処理します。
app-dev 、 app-staging 、およびapp-prod (アプリが使用する環境ごとに)の3つの別々のFireBaseプロジェクトを作成することをお勧めします。これは、互いに独立している環境をテストし、重複するデータを防ぐことができるようにするためです。
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 )


















