Skip to main content

Prerequisites

  • Node.js 20+nodejs.org
  • PostgreSQL running locally
  • Redis running locally (used for caching; default port 6379)

1. Start the server

1

Clone and install

2

Configure environment

Open .env and fill in at minimum:
3

Create the database

4

Start the server

The API is available at http://localhost:4002.
5

Seed demo data

Create a demo tenant and seed it with realistic contacts, groups, and reports:
This creates 7 test accounts, a 6-level group hierarchy, 50+ contacts, and 500+ report submissions. All test accounts use password password123.

2. Start the client

1

Clone and install

2

Configure environment

Set VITE_API_URL=http://localhost:4002.
3

Start the dev server

The app opens at http://localhost:5173.

3. Log in

Navigate to http://localhost:5173 and log in with:
  • Church name: demo
  • Email: admin@worshipharvest.org
  • Password: password123
Try logging in with different accounts (e.g. fellowship@worshipharvest.org) to see how role-based access scopes data to each leader’s part of the group hierarchy.

Next steps

Architecture

Understand multi-tenancy, the group tree, and the auth model.

API Reference

Explore available REST endpoints.

Database & Migrations

How schema changes and migrations work.

Contributing

How to submit a bug fix or feature.