No description
Find a file
2026-02-27 22:16:27 +01:00
src fix: add logs 2026-02-27 22:16:27 +01:00
.dockerignore feature: deployment, deps update & more 2024-09-06 15:02:33 +02:00
.env.example feature: contact form 2025-02-02 11:30:07 +01:00
.eslintrc.cjs style: prettier 2024-08-22 11:04:22 +02:00
.gitignore feat: version bump 2026-02-16 14:28:43 +01:00
.prettierrc.json init 2024-08-21 17:08:42 +02:00
.yarnrc.yml feature: deployment, deps update & more 2024-09-06 15:02:33 +02:00
_template.scss feature: pages 2024-11-28 15:03:59 +01:00
docker-compose.yml init 2024-08-21 17:08:42 +02:00
Dockerfile fix: upgrade to bookworm-slim as base 2026-02-18 07:27:29 +01:00
next.config.mjs feat: version bump 2026-02-16 14:28:43 +01:00
package-lock.json feat: version bump 2026-02-16 14:28:43 +01:00
package.json feat: version bump 2026-02-16 14:28:43 +01:00
README.md feat: version bump 2026-02-16 14:28:43 +01:00
tsconfig.json feat: version bump 2026-02-16 14:28:43 +01:00

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

  1. Requirements
  • Node.js 22+ (see engines in package.json)
  • npm (or your preferred package manager)
  • Database PostgreSQL with PostGIS extension
  1. Install dependencies
npm install
  1. 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 like postgres://user:password@host:5432/dbname.
  • PAYLOAD_SECRET — secret used by Payload
  • GOOGLE_BUCKET — GCS bucket name (if using @payloadcms/storage-gcs)
  • RESEND_API_KEY — API key for Resend (emails)
  1. 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 server
  • npm run build — build for production
  • npm start — start the production server
  • npm 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

Open http://localhost:6006