Paladin is a support community platform that provides a web interface and a Discord integration for two-way syncing.
- Nx monorepo with 4 packages (community, dashboard, server, and shared)
- Community is a frontend package that serves the main community page
- Dashboard is a frontend package that serves the onboarding new community creation (required for hosted platform, not required for individual hosting)
- Server is a backend package that serves all backend functions
- Shared is a library that shares types and utility functions between other packages
- Set up Clerk for authentication
- Set up Postgres database (Neon preferred)
- Set up blob storage (Cloudflare preferred)
- Set up Resend for email notifications
- Set up community frontend deployment (Vercel preferred)
- Community Vercel Build Command Override:
(cd ../.. && (cd apps/server && npx prisma generate) && npx pnpm install && npx nx build community -c prod)where root directory is apps/community
- Community Vercel Build Command Override:
- (optional) Set up dashboard frontend deployment (Vercel preferred)
- Dashboard Vercel Build Command Override:
(cd ../.. && (cd apps/server && npx prisma generate) && npx pnpm install && npx nx build dashboard -c prod)where root directory is apps/dashboard
- Dashboard Vercel Build Command Override:
- Set up server deployment (Railway preferred)
- Server Railway Build Command Override:
(cd apps/server && npx prisma generate) && npx nx build server -c prodwhere root directory is the root folder - Server Railway Start Command Override:
node apps/server/dist/main.jswhere root directory is the root folder
- Server Railway Build Command Override:
- Set up Discord bot with proper permissions
- Required Privileged Gateway Intents: Server Members Intent and Message Content Intent
- Replace TODOs and references to trypaladin.com with your own logic
- Create
apps/community/.env,apps/dashboard/.env,apps/server/.envbased on respective.env.examplefiles pnpm installdependencies in/- Generate prisma files:
cd apps/server && prisma generate - To run community frontend:
nx serve community - To run dashboard frontend:
nx serve dashboard - To run server:
cd apps/server && pnpm dev
- Language: TypeScript
- Framework: Vite
- State management: Zustand
- UI component lib: TailwindCSS + ShadCN + Lucide
- Deploy: Vercel
- Runtime: Node.js
- Language: TypeScript
- Framework: Express
- ORM & Migrations: Prisma ORM
- Deploy: Railway
- Database: Neon Postgres
- Blob storage: Cloudflare R2
- Package manager: pnpm
- DNS manager: Cloudflare
- Analytics: PostHog
- Search: Algolia
- VectorDB: Chroma
- RAG Processing: Langchain
- Auth: Clerk
- Monorepo: Nx
- Emails: Resend