Keep content manageable without code changes
Products, categories, reviews, delivery areas, sales channels, and site settings are managed through the admin workspace.
Case Study · Real Business / E-commerce
A production-ready e-commerce platform built for a real flower business, covering the customer storefront and a protected back-office for day-to-day operations.
My role
Full-stack product development & e-commerce platform
Stack
Next.js · React · TypeScript · Prisma · PostgreSQL · Cloudinary · LINE · GSAP
The business needed more than a product showcase. Store content, product images, categories, reviews, delivery areas, sales channels, and localized content all needed to be managed without editing code. The admin side also needed controlled access and a release process that would not put production data or media at risk.
I built a full-stack storefront with a searchable product catalog, collection shortcuts, localized Thai/English content, product galleries, pricing and discount presentation, and LINE ordering. Behind it is a protected admin workspace for catalog and content management, backed by Prisma/PostgreSQL and Cloudinary for media storage.
The storefront and admin workspace run on Next.js. Business data is modeled with Prisma and persisted in PostgreSQL, while product and review media are stored in Cloudinary. Customers browse products and can continue ordering through LINE; administrators manage the content through the protected back-office.
01
Customer / Admin
02
Next.js Application
03
Prisma ORM
04
PostgreSQL
Media → Cloudinary · Ordering → LINE · Admin auth → signed HttpOnly session
Products, categories, reviews, delivery areas, sales channels, and site settings are managed through the admin workspace.
PostgreSQL stores application records and Cloudinary handles uploaded media, keeping image delivery independent from database rows.
Admin access uses signed HttpOnly cookies, server-side session-age checks, and a database-backed session version for invalidation.
Production releases include CI checks, migration approval, backups, health checks, smoke tests, and rollback/recovery guidance.
Instead of hard-coding the catalog, I built management workflows so business content can change without a developer editing source files.
Products can have cover and gallery images, so upload limits, Cloudinary metadata, ordering, and cleanup behavior are handled as part of the application flow.
The admin model separates ADMIN and STAFF roles and blocks restricted areas based on the authenticated role.
The release workflow includes logical backups, Neon recovery coverage, Cloudinary awareness, migration gates, health checks, and tested restore tooling.
The result is a real business platform rather than a static storefront: customers can browse and order, while the business can manage its catalog and content through a protected back-office. The application also has the testing, media controls, backup strategy, health checks, and deployment safeguards expected from a production system.