---
# System prepended metadata

title: Stocklist構築手順書

---

# 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
```




