name: 画像投票所
version: 1.0.0
frontend:
title: 画像投票ページ
features:
- 画像グリッド表示
- 星評価システム
- モーダル表示
- ドラッグ&ドロップアップロード(現在は無効化)
components:
image_grid:
type: flex
layout: wrap
gap: 20px
justify: center
image_card:
width: 300px
features:
- 画像表示
- タイトル表示
- 説明文表示
- 星評価
- 更新日時表示
hover_effect: translateY(-5px)
modal:
features:
- 画像拡大表示
- キャプション表示
- クリックで閉じる
- 背景クリックで閉じる
styling:
theme:
primary_color: "
#1890ff"
star_color: "
#fadb14"
background_color: "white"
text_color: "#333"
border_color: "
#eee"
typography:
font_family: "'Helvetica Neue', Arial, sans-serif"
title_size: "18px"
description_size: "14px"
update_time_size: "12px"
interactions:
voting:
method: POST
endpoint: vote.php
features:
- 投票/投票解除の切り替え
- Cookieによる重複投票防止
- リアルタイム表示更新
image_upload:
method: POST
endpoint: upload.php
features:
- 複数ファイル対応
- 画像形式チェック
- ドラッグ&ドロップ
- ファイル選択ダイアログ
data_management:
images:
source: images.json
cache_busting: true
sorting: title_ascending
cookies:
voted_images:
name: "votedImages"
expiry: 365 days
format: JSON array
backend:
endpoints:
vote.php:
method: POST
parameters:
- imageId
- action
- url
- title
- description
response:
success: boolean
stars: number
message: string
upload.php:
method: POST
parameters:
- image
- title
- description
response:
success: boolean
id: string
url: string
title: string
description: string
stars: number
updatedAt: string
data_storage:
images:
format: JSON
location: images.json
fields:
- id
- url
- title
- description
- stars
- updatedAt