Skip to main content

System context

KStudeo is one software system used by visitors, customers, and the photographer. Payment providers, email, and private object storage sit outside it. PostgreSQL is inside the system boundary and is shown in the container view.

What crosses the boundary​

FromToData
CustomerKStudeoIdentity, booking details, referral code, ratings.
KStudeoStripeUSD amount in cents, order reference, refund request.
StripeKStudeoSigned payment and refund events. The event id is stored for deduplication.
KStudeoObject storageOriginal bytes and generated thumbnails. Customers never receive storage credentials.
KStudeoEmail providerAccount setup links, gallery-access notices, and operational mail.

The marketing pages that already exist for portrait, wedding, family, travel, modeling, photography, video, design, about, contact, and privacy remain the public face of the product. Booking and the portal are added to that experience. They are not a second brand.

Trust boundary​

Anyone on the internet can reach Next.js and the webhook endpoints. Express is the component that decides whether a payment is real, whether a booking is approved, and whether a photograph can be signed. Next.js rendering a button, or a client hiding a download link, is not an access-control decision. Those decisions are stored in PostgreSQL and checked on every request. See authorization.