Skip to main content

Installation

Two applications exist in the repository today. The API, worker, and database described in this design are specified and not yet generated as a server project.

Documentation site​

From kstudeo-doc, with Node.js 20 or newer:

npm install
npm start

The site is served at http://localhost:3000. npm run build writes a static site to kstudeo-doc/build. Mermaid diagrams, including the C4 views, render in the documentation pages.

Marketing site​

The public landing pages are the Vite and React app at the repository root. From that directory:

npm install
npm run dev

Those pages are the experience this design retains. Booking, checkout, the customer portal, and the photographer dashboard are added in the Next.js application described below. Login on the marketing site is not the access-token design in authentication.

Application layout to create​

PathProcess
web/Next.js and TypeScript interface.
server/Express API and Prisma schema at server/prisma/schema.prisma.
server/workerBackground worker using the same generated Prisma Client and DATABASE_URL.
kstudeo-doc/This documentation site.

Copy the Prisma schema from migrations into server/prisma/schema.prisma as the first database change. Apply the SQL constraint migration immediately after Prisma's initial migration. Do not start payment or gallery features on a database that lacks the webhook unique key, the gallery review table, or the ledger trigger.

Local dependencies for later phases​

DependencyUse
PostgreSQL 15 or newerBusiness data. Local TLS can be off. Production TLS is required.
Stripe test credentialsUSD test charges and signed webhook fixtures.
S3-compatible storageA private bucket. MinIO is sufficient locally.
Mail catcherAccount setup and gallery mail.

Environment variable names are listed in environment.