forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#87
2025-08-04 19:20:38 +02:00
87. The app shall be containerised in a multi‑stage Dockerfile producing a final Alpine image < 300 MB.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#86
2025-08-04 19:20:01 +02:00
86. The app shall support English only in V1, but all text shall be pulled from a translation JSON to allow later localisation.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#85
2025-08-04 19:19:33 +02:00
85. All interactive controls shall be reachable via keyboard and labelled with aria‑label.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#84
2025-08-04 19:18:47 +02:00
84. Batch processing time per image shall be exported as a Prometheus histogram.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#83
2025-08-04 19:18:22 +02:00
83. Errors shall be sent to Sentry with user ID redacted.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#82
2025-08-04 19:17:56 +02:00
82. All API calls shall log trace IDs compatible with OpenTelemetry.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#81
2025-08-04 19:17:26 +02:00
81. payments: id, user_id, stripe_session_id, plan, amount, currency, status.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#80
2025-08-04 19:16:45 +02:00
80. images : id, batch_id, original_name, proposed_name, vision_tags jsonb, status.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#79
2025-08-04 19:16:13 +02:00
79. batches : id, user_id, status, created_at.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#78
2025-08-04 19:15:40 +02:00
78. users : id, google_uid, email_hash, plan, quota_remaining, created_at.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#77
2025-08-04 19:15:00 +02:00
77. WebSocket ws://…/progress/{batch_id} streams JSON events { image_id, status }.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#76
2025-08-04 19:14:33 +02:00
76. POST /api/keywords/enhance accepts { keywords[] } and returns { enhanced_keywords[] }.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#75
2025-08-04 19:13:59 +02:00
75. PUT /api/image/{image_id}/filename accepts { new_name } and returns the updated record.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#74
2025-08-04 19:13:00 +02:00
74. GET /api/batch/{batch_id}/status → { state: PROCESSING
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#73
2025-08-04 19:12:27 +02:00
73. POST /api/batch → { batch_id, accepted_count, skipped_count }.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#72
2025-08-04 19:11:51 +02:00
72. All user‑facing times shall be displayed in the user's browser locale, derived via Intl.DateTimeFormat.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#71
2025-08-04 19:11:05 +02:00
71. The billing modal shall summarise price, billing frequency, and confirm upgrade in ≤ three clicks.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#70
2025-08-04 19:10:21 +02:00
70. While Vision jobs run, each Proposed Filename cell shall display a looping shimmer placeholder animation.
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#69
2025-08-04 19:09:55 +02:00
69. Invalid files shall be listed with a red icon and a tooltip reason like "GIF over 25 MB rejected".
forgejo_admin
opened issue Vibecode-Together/SEO_iamge_renamer_starting_point#68
2025-08-04 19:09:22 +02:00
68. Drag‑and‑drop zone shall highlight when files hover over it and display the total number accepted.