オンライン
← ポートフォリオへ戻る

// Webプロダクト / Webサービス

IMGPOST:プライベートメディア保管庫

短縮リンク、保護付きアルバム、サムネイル生成、タイマーまたは初回閲覧後の自動削除を備えた、プライバシー重視の画像ホスティングサービス。
PHP 8.1 Laravel 10 Livewire MySQL Intervention Image Flysystem Queues Spatie Permission
IMGPOST:プライベートメディア保管庫 preview
Webプロダクト / Webサービス / case study
// 課題

画像共有を永続的な公開保存ではなく、管理可能なライフサイクルとして設計する。

担当タスク

  • アップロード検証、最適化済み原本と100×100サムネイルの生成。
  • アップロード時からの期限、または初回閲覧後のカウントダウン。
  • 画像とアルバムを任意/自動生成パスワードで保護。
  • 所有権、gallery、短縮リンク、metadata、管理者モデレーション。
// 解決策

役割:フルスタック開発者。アップロードpipeline、storage abstraction、アクセス制御、lifecycle job、gallery UXを担当。

Laravel 10とLivewireで構築し、Intervention Imageで画像処理、Flysystemで保存先を抽象化。queue workerが期限切れレコードを一定件数ずつ処理し、原本とサムネイルを削除して関連データを整理する。Jetstream、Sanctum、ロール権限でアカウントと管理機能を構成し、ローカルまたはS3互換storageに対応可能。

// スタック
PHP 8.1 Laravel 10 Livewire MySQL Intervention Image Flysystem Queues Spatie Permission
// metrics
primary
8 image formats
secondary
scheduled cleanup
kind
Web / Storage