photographer

作品名
photographer
制作月
2025.06
制作期間
2ヶ月

概要

本作品はHello Mentorというオンラインスクールの課題として制作した、架空フォトグラファーのポートフォリオサイトです。

デザインカンプをもとにコーディングを行いました。HTML / CSSの実装は比較的スムーズに進みましたが、 JavaScriptによる実装に多くの時間を要した作品です。

担当範囲

デザインカンプをもとに、HTML/CSSコーディング、JavaScriptによるインタラクション設計・実装を担当しました。

制作目的

本課題では、デザインカンプの再現に加えて、ユーザー体験を高めるためのインタラクションを自ら設計・実装することを目的に制作しました。 課題要件に含まれていないJavaScript実装にも挑戦し、実務に近い思考でのコーディングを意識しています。

工夫した点

  • ライブラリ選定からの方針転換

    当初はカルーセルにSplide、ライトボックスにGLightboxを使用する予定でしたが、 両者を連携させたUI構成が難しく、最終的にバニラJavaScriptでの実装へ方針転換しました。

  • サムネイル連動ギャラリーの実装

    Worksセクションでは、矢印ボタンでの画像切り替えに加え、 下部のサムネイルクリックでも表示が切り替わるギャラリーを実装しました。

  • ライトボックスとの同期

    選択中の画像からライトボックスを展開し、 ライトボックス内でも矢印・キーボード・スワイプ操作で画像切り替えができるようにしています。

  • スマホファースト

    スマートフォンではクリック可能な要素が分かりにくいと考え、 拡大表示できる画像には虫眼鏡アイコンを追加し、直感的に操作できるよう工夫しました。

  • JavaScriptのモジュール分割

    実装規模が大きくなったため、ES Modulesを用いて機能ごとにファイルを分割し、 可読性と保守性を意識した構成にしています。

学び

課題要件にない機能を実装したことで、ライブラリ選定や実装方針の判断力が身につきました。 また、複雑なUIをバニラJavaScriptで実装する中で、状態管理や処理の分離の重要性を強く実感しました。

JavaScriptが大規模になるにつれて、ファイル構成や命名の整理が不可欠であることを学び、 以降の制作では設計を意識した実装を行うようになりました。

使用言語 / 使用ツール

  • HTML
  • CSS
  • SCSS
  • Web Animations API
  • Cursor
  • Figma