# Stocklist構築手順書 以下のURLからソースコードをローカルにダウンロードします [フロント](https://github.com/Kinoshita0623/stocklist_app.git) [サーバ](https://github.com/Kinoshita0623/Stocklist.git) ## サーバーを構築する 実行前に以下のものを環境に入れてください。 * Docker * Makeコマンド * docker-compose プロジェクトディレクトリStocklistに入ります。 ``` cd Stocklist ``` #### localhostは使用しないでください。 localhostを指定するとエミュレーターからアクセスできなくなってしまうので、localhost以外でアクセスできるようにするようにしてください。 ### Dockerで起動する make upで起動します。 Dockerのビルドが始まります。 終了すれば自動的にコンテナが起動します。 ※API鯖はデフォルトでは8080番ポートで起動します。 ``` make up ``` ### composerをインストールする ビルドが完了し、全てのコンテナが起動すればcomposerで依存パッケージのダウンロードを行います。 ``` // PHPのコンテナに入ります maks shPHP ``` コンテナに入ることができたらcomposer installを行います。 ``` composer install ``` ### envファイルを作成する ``` cp .env.example .env ``` ### Keyを生成する ``` php artisan key:generate ``` ### migrationを実行する Docker以外で実行する場合は新たに.envのDBなどの接続情報を変更してください。 ``` php artisan migrate --seed ``` ### シンボリックリンク 画像を保存するストレージをpublicに公開するためのリンクを作成します。 ``` php artisan storage:link ``` ### .envファイルを編集する SANCTUM_STATEFUL_DOMAINS, APP_URLには アクセスする予定のIPアドレス(ドメイン)を設定してください。 ``` APP_NAME=Laravel APP_ENV=local APP_KEY= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=Stocklist-db DB_PORT=3306 DB_DATABASE=Stocklist-database DB_USERNAME=Stocklist-user DB_PASSWORD=Stocklist-password BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" SANCTUM_STATEFUL_DOMAINS=localhost:8080 SESSION_DOMAIN= ``` ### Web版にアクセスする 完全に起動してからサーバにアクセスすると Web版のクライアントが表示されます。 ## モバイルアプリ(Flutter)をビルド&実行 ### ビルド時には以下のものが必要です * Androidエミュレーター  * Flutter SDK * Android SDK * Dart SDK ビルド&実行時に--dart-defineを指定してください。 ※API_BASE_URLにはlocahost, 127.0.0.1, 0.0.0.0以外を指定できるようにしてください。 ``` --dart-define=API_BASE_URL=API鯖のURL ```