このリポジトリには、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
に移動します。