Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

プレビュー用にユーザーアイコンを表示する際に、ユーザー名を使用するFeature use user name for get icon #7607

Closed
wants to merge 4 commits into from

Conversation

rira100000000
Copy link
Contributor

@rira100000000 rira100000000 commented Mar 27, 2024

Issue

概要

前提

テキストエリアで:@username:と記述するとメンションされたユーザーのアバターが表示される。
この時user_icon_urlsというapiを使用してアバターのアタッチされた全ユーザーのアバター画像URLを取得し、表示するべきユーザーのログインネームで取り出すという処理をしている。
本PRではサーバー負荷削減を目的として、user_icon_urlを使わないよう修正する。

変更内容

  • アバターの保存先をログインネームから特定できる形にし、user_icon_urlsを使わずにアバターを取得できるように変更した
  • Google Cloud Storage上の既存のアバターファイルのパスを変更するためのrakeタスクを追加した
  • 不要になったuser_icon_urls関連のファイルとコードを削除した

変更確認方法

先に確認いただきたいことの要点をまとめておきます

  • ローカルにファイルを保存する環境でアバターを正しく表示できること
  • Google Cloud Storage上のアバター画像ファイルをiconディレクトリ配下に移動できること
  • Google Cloud Storageにファイルを保存する環境でアバターを正しく表示できること

事前準備(ローカル環境)

  1. feature/use_username_for_get_iconをローカルに取り込む
  2. rails db:resetする
  3. foreman start -f Procfile.devでサーバーを立ち上げる

ローカル環境での確認

  1. ID:komagataでログインする
  2. http://localhost:3000/reports/newにアクセスする
  3. 日報の内容に:@komagata:と入力し、プレビュー欄にアバターが表示されることを確認する
  4. 日報の内容に:@kimura:と入力し、プレビュー欄にデフォルトのアバターが表示されることを確認する

事前準備(ファイルのパス変更)

  1. Google Coud Platformアカウントを作成し、Google Cloud Storageでバケットを作成する
  2. config/storage.ymlのlocalを以下に書き換える
local:
  service: GCS
  project: "自分のプロジェクトID"
  credentials: "自分のクレデンシャルファイルへのパス"
  bucket: "自分のバケット名"
  public: true
  1. lib/tasks/bootcamp.rakeの61~64行目を以下に書き換える
        project_id: "自分のプロジェクトID",
        credentials: "自分のクレデンシャルファイルへのパス"
      )
      bucket_name = "自分のバケット名"
  1. lib/bootcamp/setup.rbの35行目を以下に書き換える
user.avatar.attach(io: File.open(path), filename:) if File.exist?(path)
  1. app/models/user.rbの605行目を以下に書き換える
return
  1. サーバーを停止し、rails db:resetする

ファイルパス変更確認

  1. Google Cloud Storageのコンソールページでファイルが保存されていること、iconディレクトリが存在しないことを確認する
  2. rails bootcamp:oneshot:change_icons_filepathを実行する
  3. Google Cloud Storageのコンソールページでiconディレクトリにリネームされたファイルが移動していることを確認する

事前準備(Google Cloud Storage環境)

  1. config/webpack/development.jsの2行目を削除し、以下を追記する
process.env.GCS_BUCKET = "自分のバケット名"
process.env.ICON_DIRECTORY = `https://storage.googleapis.com/${process.env.GCS_BUCKET}/icon/`
  1. foreman start -f Procfile.devでサーバーを立ち上げる

Google Cloud Storage環境での確認

  1. http://localhost:3000/reports/newにアクセスする
  2. 日報の内容に:@komagata:と入力し、プレビュー欄にアバターが表示されることを確認する
  3. 日報の内容に:@kimura:と入力し、プレビュー欄にデフォルトのアバターが表示されることを確認する

Screenshot

画面の変更はありません

@rira100000000 rira100000000 force-pushed the feature_use_user_name_for_get_icon branch from 00932dc to f578b45 Compare March 27, 2024 10:32
@rira100000000 rira100000000 marked this pull request as ready for review March 27, 2024 10:56
@rira100000000 rira100000000 deleted the feature_use_user_name_for_get_icon branch March 27, 2024 11:02
@rira100000000
Copy link
Contributor Author

ブランチ名を間違えたため#7608 に新たにPRを作りました。
こちらはcloseします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant