Welcome to the orthfx-platform monorepo! This repository contains the core platforms and shared packages that power the digital infrastructure for Orthodox Christian parishes and organizations.
This is a Vite+ monorepo using pnpm workspaces. It provides a unified toolchain for multiple decoupled frontends that share a single source of truth (the backend) and a unified design system.
- Toolchain: Vite+ (
vpCLI) - Frameworks: React 19, Vite 8, React Router v7
- Styling: Tailwind CSS v4, shadcn/ui
- Backend/DB: Convex (Serverless functions, database, file storage, auth)
- Package Manager: pnpm (wrapped by
vp)
orthfx-platform/
├── apps/
│ ├── website/ # The main orthfx.com organizational site
│ ├── sites/ # The church website builder and directory
│ ├── pledge/ # The crowdfunding/donation platform wrapper
│ └── orthodox-registry/ # Directory and mapping of Orthodox communities
│
└── packages/
├── backend/ # Single Convex backend (schemas, queries, mutations)
├── ui/ # Shared React components (shadcn) and Tailwind config
└── config/ # Shared configuration (future)
-
Install dependencies from the root of the monorepo:
vp install
-
Run the development servers: You can run all frontends simultaneously from the root:
vp run dev
Or run a specific app:
vp run -C apps/pledge dev
-
Run the Backend (Convex): To modify the database schema or write new backend functions, run the Convex dev server in the backend package:
vp dlx convex dev --path packages/backend/convex
Each app is deployed independently to Netlify. Builds trigger automatically on push to main. The netlify.toml in each app directory controls the build config — Netlify runs the command from the repo root so workspace packages are resolved correctly.
| App | Netlify Site | URL |
|---|---|---|
apps/website |
orthfx-platform-website | https://orthfx-platform-website.netlify.app |
apps/sites |
orthfx-platform-sites | https://orthfx-platform-sites.netlify.app |
apps/pledge |
orthfx-platform-pledge | https://orthfx-platform-pledge.netlify.app |
apps/orthodox-registry |
orthfx-platform-registry | https://orthfx-platform-registry.netlify.app |
| Variable | Apps | Description |
|---|---|---|
VITE_CONVEX_URL |
pledge, sites |
Convex deployment URL |
Each app directory contains a .netlify/state.json (gitignored) that links it to its site. To re-establish the link locally:
cd apps/<app>
netlify link --id <site-id>Site IDs are visible in the Netlify dashboard or via netlify api listSites.
- Unified Toolchain: Always use the
vpCLI for dev, build, lint, and package management. - Decoupled Backend: The
@orthfx/backendpackage handles all financial and structural primitives. Frontends act as presentation layers over this shared engine. - Shared UI: Build generic UI components inside
@orthfx/uito maintain consistency. - Pre-commit Checks: All commits are automatically verified using
vp check --fixon staged files.