This is the official monorepo for Freedom in Christ Church, managed with pnpm workspaces and Turborepo.
| App | Description | Tech |
|---|---|---|
apps/web |
Main church website at sauga.church | SvelteKit, Svelte 5, Tailwind CSS v4, Skeleton UI |
apps/cms |
Content management system | Sanity Studio |
If you use nvm, run nvm use in the project root to switch to the correct Node version.
- Clone the repository:
git clone https://github.com/n9d0g/fcc.git
cd fcc- Install dependencies:
pnpm install- Start all apps in development mode:
pnpm devThis runs both the web app (port 42069) and the CMS (port 6969) simultaneously via Turborepo.
To run a specific app:
pnpm --filter web dev
pnpm --filter cms dev| Command | Description |
|---|---|
pnpm dev |
Start all apps in development mode |
pnpm build |
Build all apps |
pnpm lint |
Lint all apps |
pnpm format |
Format code with Oxfmt |
pnpm clean |
Remove all node_modules, lock files, and build artifacts |
pnpm fresh |
Format, clean, and reinstall everything from scratch |
pnpm fresh:start |
Fresh install + start dev servers |
pnpm cms:deploy |
Deploy the Sanity CMS studio |
The web app requires several environment variables. Create a .env.local file in apps/web/:
SANITY_API_PROJECT_ID=
SANITY_API_DATASET=
SANITY_API_READ_TOKEN=
GOOGLE_EMAIL=
GOOGLE_EMAIL_PASSWORD=
GOOGLE_MAPS_API_KEY=
GOOGLE_RECAPTCHA_SECRET_KEY=
Ask a maintainer for the values.
- Create a new branch from
dev-web:
git checkout dev-web
git pull
git checkout -b your-branch-name- Make your changes and ensure they build:
pnpm build- Format your code before committing:
pnpm format- Push your branch and open a pull request against
dev-web.
- Framework: SvelteKit with Svelte 5
- Styling: Tailwind CSS v4 + Skeleton UI
- CMS: Sanity
- Formatter: Oxfmt
- Monorepo: pnpm workspaces + Turborepo
- Hosting: Vercel