2.2 KiB
Heilige Drei Könige Website
This repository contains the source code for the Heilige Drei Könige Catholic Church website, built with:
- Next.js
- React
- Payload CMS v3
- PostgreSQL
Quick start
- Requirements
- Node.js 22+ (see
enginesinpackage.json) - npm (or your preferred package manager)
- Database PostgreSQL with PostGIS extension
- Install dependencies
npm install
- Configure environment
cp .env.example .env
Then update the values as needed. Example keys from .env.example:
DATABASE_URI— database connection string (Mongo example provided). For Postgres, use a URL likepostgres://user:password@host:5432/dbname.PAYLOAD_SECRET— secret used by PayloadGOOGLE_BUCKET— GCS bucket name (if using @payloadcms/storage-gcs)RESEND_API_KEY— API key for Resend (emails)
- Run the development server
npm run dev
By default the app runs at http://localhost:3000
Database options
PostgreSQL + PostGIS
You can run a Postgres image with PostGIS locally:
docker pull postgis/postgis
Create and run a container, then set your DATABASE_URI to the Postgres URL. Ensure the PostGIS extension is enabled in your database.
Alternatively, you can enable the Postgres service in docker-compose.yml (currently commented out) and use that as your local DB.
Migrations (Payload)
Create a new migration:
npm run payload migrate:create --<name>
Apply pending migrations:
npm run payload migrate
Note: After deploying changes to production, ensure migrations are executed against the production database. (Todo: Integrate this step into Continuous Deployment.)
Admin panel (Payload)
Once the server is running, open:
Scripts
Common scripts available in package.json:
npm run dev— start Next.js dev servernpm run build— build for productionnpm start— start the production servernpm test— run tests (Vitest)npm run storybook— start Storybook on port 6006
Storybook
Storybook lets you develop and preview UI components in isolation.
Start Storybook:
npm run storybook