PHOTOBOX SE – 写真納品サービス

PHOTOBOX SE のトップページ(「撮影データの納品を、もっとスマートに。」の見出しと、アルバム画面の見本)

概要

以前公開した写真共有サービスを、写真館・プロカメラマンのための写真納品サービスとして作り直し、デザインを全面的に刷新。お客様は会員登録なしで、写真を見て、選んで、そのままダウンロードできます。

特徴

以前公開した写真共有サービスを、写真館・プロカメラマンのための写真納品サービスとして作り直しました。トップページや料金ページなどの公開ページから、アルバム一覧・アルバム・セレクト一覧といったログイン後の画面まで、デザインを全面的に刷新しています。

撮影者は写真をアップロードしてアルバムを作り、専用のURLやQRコードをお客様に送るだけです。お客様は会員登録なしで写真を見て、欲しいカットを選んで送信(セレクト)でき、結果はメールと「セレクト一覧」に届きます。写真はそのままダウンロードしたり、アルバムまるごと(最大2,000枚・30GB)をZIPで受け渡したりできます。

選んでもらう前の写真には「SAMPLE」の透かしを入れて原本のダウンロードを止められ、選び終わったら外すだけでそのまま納品に使えます。お客様のアルバムに撮影者のアイコンとホームページへのリンクを出すこともできます。トップページのサンプルアルバムでは、お客様の画面でセレクトを試せます。

写真はブラウザからAWSのS3へ直接アップロードし、サムネイルや透かしの画像はAWS Lambdaで作ります。アップロード中の写真は並び順どおりの位置に仮の枠を出して順に差し替え、通信が切れたときは待ってから続きを送ります。ZIPもLambdaで作るようにし、写真が多くても途中で止まらないようにしました。

料金プランは、無料のフリー(2GB・保存30日)と、月額のライト・スタンダード・プロの4つです。申し込みはStripeの決済画面で、プランの変更や解約はStripeのカスタマーポータルで行えます。

技術情報

フレームワーク:Laravel 12(PHP 8.4)

インフラ:AWS(S3・Lambda・CloudFront)、本体はレンタルサーバー

決済:Stripe(Checkout・カスタマーポータル)、Laravel Cashier

スタイル:Bootstrap 5、Sass

スクリプト:PhotoSwipe(写真の拡大表示)、Swiper、SweetAlert2

ビルド:Vite

テスト:PHPUnit、Vitest