65
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

就活成功に導いたポートフォリオサイトの紹介

Last updated at Posted at 2022-11-27

就職活動・転職活動に備えてポートフォリオサイトを作成したので経緯や内容・工夫点をご紹介します。

簡単に実践できてサイトの質を向上させることができる工夫点も複数紹介しているので,参考になる方も多いと思います!

完成したサイト・ソースコードがこちら↓

前提

  • 制作者は学生
  • 就職活動スキルや過去の実績をアピールすることを目的に制作を開始
  • 就活が終了した現在も副業探し転職活動を見据えてアップデート中
  • 勉強のために触ったことのないNuxt.jsを使用

方針

自身のことや過去の実績について知ってもらうことが一番の目的であるため…

  • サイト自体の機能を盛り盛りにしてスキルをアピールするというより,伝えたいことが十分に伝わるようなUIを作成することを優先したい

とはいえスキルもアピールしたいため…

  • 目的から離れすぎない範囲でフロントエンドに機能をつける
  • サイトパフォーマンスに気を配る

表示項目

下記項目を表示することにしました。

  • 簡単なプロフィール(Profile)
  • 過去の制作物(Works)
  • プログラミング言語やフレームワーク等のスキル・経験(Skills)
  • GitHubやQiitaの情報(Activities)

詳細プロフィールや経歴なども載せるか悩みましたが,個人情報を載せすぎるのも少し怖いので今回は載せないことにしました。

内容・工夫点

項目ごとにご紹介します。

Profile

サイトトップに以下の要素を表示します。

  • 名前
  • GitHubアカウントへのリンク
  • GitHub Contribution

象徴的な画像やアイコン,キャッチコピーなどがほしいところですが,今のところはありません…

image.png

複数のGitHub Contributionの表示

GitHubのContribution(いわゆる草)は過去にどの程度開発をしているのか評価するうえで重要な指標のひとつになり得ます。

しかし,GitHubのアカウントを複数使い分けている場合(会社用・個人用など),その全てを見に行くのは少し面倒です。(就活の際に人事の方がそこまでしてくれるか怪しい)

そこで,GitHub APIを使うことで会社用と個人用の2つのアカウントのContributionをまとめて表示させてみました。

実装方法については以前まとめたので興味がある人はぜひ↓

(この機能はオリジナリティや技術的なアピールにもなりそうなので結構気に入っています笑)

GitHub Contributionの表示/非表示切り替えボタン

仕事でどの程度開発しているのか知りたいという場合もありそうなので(その逆も),画像右下のボタンからContributionの表示/非表示切り替えができるようにしました。

この機能はUIデザインの観点から以下の工夫をしており,説明文なしでも直感的に操作できると思います。

  • 単なるボタンではなくトグルボタンを使用することでON/OFFを切り替えるためのUIであることを分かりやすくする
  • 色・アイコン画像をContribution表示と統一することで切り替え操作の対象を分かりやすくする

image.png

ちなみにこのトグルボタンはbutton,img,divを組み合わせ,CSSでtransitionをつけることで半ば強引に実現しています笑

Works

制作物について,以下の情報を表示

  • 名前
  • 概要
  • 技術やアピールポイント等のキーワード
  • 制作日
  • サイト・ソースコードのリンク

最大4件の表示しか想定していないため,現時点では静的に実装しています。

image.png

Skills

スキルについて,主に以下の情報を静的に表示

  • 名前
  • レベル
  • (ロゴ)

image.png

アピールポイントを明確にするためにメインでアピールしたいスキルを8つに絞り,それらにはロゴやレベル(そのスキルに対する自信)も併せて表示しました。

サブのスキルには大きなアピールになりそうにないスキル(GitやTailwindcss等)やメインと比較してアピールの優先度が低いスキル(分野が少し違う,経験が少ない等)を記載しています。

また,実務経験の有無を問われることも多いため,メインのスキルは実務経験あり(緑)となし(オレンジ)で色分けしました。

懸念点として,ロゴの周りのゲージの基準が分かりにくい気もしますが,学生の私には経験年数のような数値で測れるような指標がないため,今はこのままにしています。
(週1ぐらいで開発している時期もあれば毎日開発している時期もあるので…)

ちなみに,Tailwindcssで頑張ってhoverアクションをつけたので是非PCでご確認ください…!

Activities

各種公開APIを利用し,以下の情報を動的に表示

  • GitHubのリポジトリ
  • Qiitaの投稿

image.png

RESTとGraphQL

GitHub APIはGraphQL,Qiita APIはRESTと,あえて異なる方式のAPIを採用しているため,少しは技術的なアピールになればと期待しています…

Qiita APIについても以前まとめたのでぜひ↓

サイト全体

サイトパフォーマンス

LighthouseやPageSpeed Insights等の分析ツールを活用しながら問題点を一つ一つ潰していくという方法で,高いサイトパフォーマンスを実現しています。

image.png

SSG(Static Site Generation)

今回制作するサイトは,更新頻度が低く,リアルタイムな情報更新も求められないため,ビルド時に静的ページを生成するSSG(Static Site Generation)による高速化が期待できます。

ただし,サイトトップに表示しているGitHubのContributionは毎日更新されてほしいため,GitHub Actionsを用いて毎日定時に自動ビルドされるよう設定しています。

表示データの制限(ページネーション)

基本的には,表示するものが多いとそれだけ時間がかかります。
また,無駄なスクロールも増えるためユーザビリティ的にも良いとはいえません。

以上の理由から,GitHubのリポジトリやQiitaの投稿などの初期表示数を制限し,「Show More」ボタン押下によって表示数を増やすという仕様にしています。

CLS対策

一部データの読み込みが遅れることなどが原因でレイアウトがずれる場合があります。

これは,ユーザの誤クリック等を招くため,CLS(Cumulative Layout Shift)という表示の安定性を測る指標に悪影響を与えます。

一般的にはデータの読み込みが完了するまでスケルトンやプレースホルダと呼ばれる代わりの要素を表示させることで対策されたりしますが,今回は元々画像以外で読み込みが遅れるということがほとんどなかったため,imgタグのheight,width属性を設定するだけで対策できました。

PWA対応

PWA(Progressive Web Apps)に対応することでネイティブアプリのようにホーム画面に追加し,ブラウザとは別タブで開くことができるようになります。

また,Service Workerのキャッシュによりオフラインでも閲覧可能になったり,オンラインでの読み込みが高速化されたりといったメリットもあります。
(今回は対応しませんが通知機能なども実装可能になります!)

実装方法割愛しますが,画像用意して設定の記述を少し加えるだけなのですぐできました!

IMG_5912.PNG

Accesibility向上

少しパフォーマンスとはずれますが,LighthouseやPageSpeed InsightsのAccesibility欄を参考にしながらAccesibility向上に努めました。

具体的には,imgタグのalt属性,buttonやaタグのaria-label等を設定することで,テキスト読み上げ機能などにも対応しました。

また,色のコントラストを一定以上に保つことで,誰にとっても見やすいWebサイトを実現しました。

OGP設定

TwitterやQiitaなどでリンクを貼った際の,サイトタイトルや説明,画像などの表示設定です。

ポートフォリオサイトの目的を考えると,検索からではなくシェアから訪れる場合がほとんどであるため,地味ですが重要です。

今回は以下の画像のように設定しておきました。

image.png

今後の課題・展望

  • スマホ表示時のパフォーマンス向上(画像出し分けとか)
  • テキスト圧縮(やろうとしたけどなぜかできてない…)
  • 画像最適化(今回は効果薄そうだからやってない)
  • ナイトモードの実装
  • SEO対策(検索での流入を求めてないからやってない)

おわりに

技術的に難しいことはあまりしていませんが,目的に対して一貫性のある良いものができたと考えています。

気になったところやアドバイスがあればコメントいただけると嬉しいです!

就活は終わっちゃいましたが,副業は探しているのでTwitterのDMなどでお声がけいただけると嬉しいです!

完成したサイト・ソースコード↓

65
35
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
65
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?