このリポジトリには、FARM ソリューション スタック上で実行されるフルスタック Web アプリケーション テンプレートが含まれています。これは次のことを意味します。
FARM スタックは、多かれ少なかれ LAMP スタックの拡張版であり、次のような注目すべき変更が加えられています。
Flask は、Web UI と Web バックエンド/データベース間で通信できる Web API/ミドルウェアを作成するために使用されます。これは、フルスタック アプリケーションの各部分を結合するアプリケーション全体の中核です。
この特定のテンプレートは ORM を使用せず、代わりにpymysqlモジュールを使用することに注意してください。つまり、開発者は SQL クエリを作成する必要がありますが、データベース上で実行する必要があるクエリの複雑さを最大限に高めることができます。
AWS は、アプリケーションをホストできるクラウド サービスです。ソフトウェア スタック全体を次のサービスでホストできます。
これは、開発者がすべてを 1 つのプラットフォーム上に維持し、DevOps / IT 作業を最小限に抑えることができることを意味します。
React は Web UI が動作するフレームワークです。 React アプリケーションは、NodeJS を使用して AWS Lambda 上で実行することもできます。
このテンプレートは JavaScript / JSX を使用しますが、TypeScript も同様に使用できます。
MySQL は、Web バックエンドが使用するリレーショナル データベースです。これは、RDS サービスを通じて AWS でホストすることもできます。
この Web アプリケーションを実行するには、次のことを行う必要があります。
db/のスキーマを使用してローカル MySQL インスタンスをセットアップします。MySQL インスタンスをセットアップするには、次の手順に従います。
mysqlを使用することです。sample.sqlを実行します。 SampleInventoryというスキーマを作成し、 Inventoryというテーブルを初期化します。Flask API のコードベースは、 api/ディレクトリにあります。
virtualenv farm-stack使用して Python 仮想環境を作成します。source farm-stack/bin/activateでアクティブ化します。api/に移動し、 pip3 install -r requirements.txtを実行して、API に必要なすべての Python モジュールをインストールします。api/ディレクトリにあるdbcreds.pyを開き、必要に応じてデータベースの資格情報を編集します。 python3 app.pyを実行して、 http://localhost:8080で API を実行します。React UI のコードベースはui/ディレクトリにあります。このテンプレートはパッケージマネージャーとしてyarnを使用します。開発者が新しいモジュールを追加するときに、 npmなどの他のパッケージ マネージャーを混在させないことが重要です。
このテンプレートには、 react-bootstrapなどのパッケージが含まれていないことに注意してください。
yarn install実行して、必要な依存関係をすべてインストールします。 yarn start実行します。http://localhost:3000に移動します。