Skip to content

shikorism/tissue

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Tissue

a.k.a. shikorism.net

シコリズムネットにて提供している夜のライフログサービスです。 (思想的には shibafu528/SperMaster の後継となります)

構成

  • Laravel 6
  • Bootstrap 4.4.1

実行環境

  • PHP 8.0
  • PostgreSQL 14
    • ⚠️ 2021年11月以前に環境を構築したことがある場合、移行作業が必要です!
      開発環境向けの移行手順 を参考にしてください。

開発環境の構築

Docker を用いた開発環境の構築方法です。

  1. .env ファイルを用意します。.env.example をコピーすることで用意ができます。

  2. Docker イメージをビルドします

docker-compose build
  1. Docker コンテナを起動します。
docker-compose up -d
  1. Composer と yarn を使い必要なライブラリをインストールします。
docker-compose exec web composer install
docker-compose exec web yarn install
  1. 暗号化キーの作成と、データベースのマイグレーションおよびシーディングを行います。
docker-compose exec web php artisan key:generate
docker-compose exec web php artisan migrate
docker-compose exec web php artisan db:seed
  1. OAuth2サーバ設定の初期化を行います。
docker-compose exec web php artisan passport:install

コマンドを実行すると、次のようなメッセージが出力されます。この内容は控えておいてください。

Personal access client created successfully.
Here is your new client secret. This is the only time it will be shown so don't lose it!

Client ID: 1
Client secret: xxxxxxxx
Password grant client created successfully.
Here is your new client secret. This is the only time it will be shown so don't lose it!

Client ID: 2
Client secret: yyyyyyyy
  1. .env ファイルにPersonal access token発行用の設定を追加します。
    直前の手順のメッセージから Personal access client created successfully の直後に出力されている ID と secret を PASSPORT_PERSONAL_ACCESS_CLIENT_IDPASSPORT_PERSONAL_ACCESS_CLIENT_SECRET に設定します。
PASSPORT_PERSONAL_ACCESS_CLIENT_ID=1
PASSPORT_PERSONAL_ACCESS_CLIENT_SECRET=xxxxxxxx
  1. ファイルに書き込めるように権限を設定します。
docker-compose exec web chown -R www-data /var/www/html/storage
  1. アセットをビルドします。
docker-compose exec web yarn dev
  1. 最後に .env を読み込み直すために起動し直します。
docker-compose up -d

これで準備は完了です。Tissue が動いていれば http://localhost:4545/ でアクセスができます。

デバッグ実行

docker-compose -f docker-compose.yml -f docker-compose.debug.yml up -d

で起動することにより、DB のポート5432を開放してホストマシンから接続できるようになります。

アセットのリアルタイムビルド

yarn watchを使うとソースファイルを監視して差分があると差分ビルドしてくれます。フロント開発時は活用しましょう。

docker-compose run --rm web yarn watch

もしファイル変更時に更新されない場合はyarn watch-pollを試してみてください。
現在Docker環境でのHMRはサポートしてません。Docker外ならおそらく動くでしょう。
その他詳しくはlaravel-mixのドキュメントなどを当たってください。

phpunit によるテスト

変更をしたらPull Requestを投げる前にテストが通ることを確認してください。
テストは以下のコマンドで実行できます。

docker-compose exec web composer test

環境構築上の諸注意

  • 初版時点では、DB サーバとして PostgreSQL を使うよう .env ファイルを設定するくらいです。 当分、PostgreSQL から変える気はないので専用 SQL 等を平気で使います。

About

夜の生活を記録し健康に役立てるため、あるいはオカズを探し求めるためのサービス

Resources

License

Stars

Watchers

Forks

Packages

No packages published