MVP Rebuild: Client Photo Gallery Platform — Next.js 15 + Cloudflare Workers/D1/R2 + Brevo

MVP Rebuild: Client Photo Gallery Platform — Next.js 15 + Cloudflare Workers/D1/R2 + Brevo

MVP Rebuild: Client Photo Gallery Platform — Next.js 15 + Cloudflare Workers/D1/R2 + Brevo

Upwork

Upwork

Remoto

3 horas atrás

Nenhuma candidatura

Sobre

We have an existing legacy PHP app for photographers that handles client albums, photo selection, and delivery. It is outdated and partially abandoned. We need a fresh MVP rebuild focused on core flows, low ops cost, and maintainability. Scale: Low traffic year-round, with seasonal spikes to ~100–200 clients/month. Target stack: Frontend: Next.js 15 (App Router) Backend: Cloudflare Workers (APIs) + OpenNext deployment DB: Cloudflare D1 (SQLite serverless) Storage: Cloudflare Images + R2 (watermark variants, optimization, temporary storage) Email: Brevo API (transactional + webhooks) Scope (MVP Core): Auth & roles: admin/editor/client. Albums: CRUD, cover image, states (Selection / Delivery), expiration date. Upload & processing: drag-and-drop, generate watermarked variants via Cloudflare Images; originals in R2; thumbnails. Client selection: view watermarked images, select favorites, confirmation step, lock selection, countdown to deadline. Delivery: share link to download final edited images without watermark. Session types: CRUD. Used when creating albums. Email templates: per session type. Send “invite to select” and “delivery” via Brevo. Handle webhooks for delivery/bounce/open. Dashboard: basic metrics by album/session. Notifications: email notifications to staff on key events. Security & ops: signed links, expirations, minimal audit logs, error logging. Automated reminders before selection deadline. Simple e-signature on final selection confirmation. Auto-archive to colder R2 storage after expiration. Simple report by session type and conversion Selection→Delivery. Non-functional: Cost-efficient at the above scale. Clear repo structure, readable code, and basic tests by the developer. Accessibility considerations for client view. Internationalization-ready for Spanish/English UI copy files. Deliverables: Source in Git (monorepo or single repo). Deployment via Wrangler/OpenNext, environment variables, scripts. DB schema and migrations for D1. Basic CI/CD to Cloudflare. Setup/Run/Deploy documentation and a short operations runbook. One-month bug-fix warranty after go-live. Basic migration script for active albums and image re-ingest to R2. Milestones: Foundations: auth, D1 schema, session types, albums CRUD. Uploads & watermark: R2 + Images integration, album states. Client selection: selection UI, confirmation, lock, deadline. Email & webhooks: templates per session type, invites, delivery. Delivery & metrics: final download links, dashboard, polish, pilot. What to include in your proposal: Short plan and timeline for 4–5 weeks. Fixed price for MVP Core, and separate add-price for MVP+. Hourly rate and estimated hours by module. 2–3 links to similar work, especially on Cloudflare Workers/D1/R2/Images. How you’ll implement watermarking, signed URLs, expirations, and retries. Availability and communication routine. Preferences: Experience with Cloudflare platform, Next.js App Router, image pipelines, and email webhooks is required.