Skip to content

Paladin is a support community platform that provides a web interface and a Discord integration for two-way syncing.

License

Notifications You must be signed in to change notification settings

connorjchen/paladin

Repository files navigation

Paladin Support Community

Screenshot 2025-11-09 at 4 56 21 PM Screenshot 2025-08-15 at 10 13 12 PM

Paladin is a support community platform that provides a web interface and a Discord integration for two-way syncing.

Codebase Structure

  • 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

Getting Started

Hosting Yourself

  1. Set up Clerk for authentication
  2. Set up Postgres database (Neon preferred)
  3. Set up blob storage (Cloudflare preferred)
  4. Set up Resend for email notifications
  5. 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
  6. (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
  7. Set up server deployment (Railway preferred)
    • Server Railway Build Command Override: (cd apps/server && npx prisma generate) && npx nx build server -c prod where root directory is the root folder
    • Server Railway Start Command Override: node apps/server/dist/main.js where root directory is the root folder
  8. Set up Discord bot with proper permissions
    • Required Privileged Gateway Intents: Server Members Intent and Message Content Intent

Local Development

  1. Replace TODOs and references to trypaladin.com with your own logic
  2. Create apps/community/.env, apps/dashboard/.env, apps/server/.env based on respective .env.example files
  3. pnpm install dependencies in /
  4. Generate prisma files: cd apps/server && prisma generate
  5. To run community frontend: nx serve community
  6. To run dashboard frontend: nx serve dashboard
  7. To run server: cd apps/server && pnpm dev

(Preferred) Tech Stack

Frontend

  • Language: TypeScript
  • Framework: Vite
  • State management: Zustand
  • UI component lib: TailwindCSS + ShadCN + Lucide
  • Deploy: Vercel

Backend

  • Runtime: Node.js
  • Language: TypeScript
  • Framework: Express
  • ORM & Migrations: Prisma ORM
  • Deploy: Railway

Storage

  • Database: Neon Postgres
  • Blob storage: Cloudflare R2

Other

  • Package manager: pnpm
  • DNS manager: Cloudflare
  • Analytics: PostHog
  • Search: Algolia
  • VectorDB: Chroma
  • RAG Processing: Langchain
  • Auth: Clerk
  • Monorepo: Nx
  • Emails: Resend

About

Paladin is a support community platform that provides a web interface and a Discord integration for two-way syncing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors