Skip to Content
Rendez-vous.ai Dashboard 1.1.0 is released šŸŽ‰
Dashboard & CMSOverview

Dashboard & CMS Overview

The rdv.ai-dashboard repository is the control center of the Rendez-vous.ai ecosystem. Built on Next.js (App Router) and Payload CMS, it serves two critical purposes:

  1. The User Interface: A modern, responsive web application where clients log in to configure their AI agents, view conversation logs, manage calendar bookings, and track analytics.
  2. The Central Database: It acts as the single source of truth for the entire distributed system. Payload CMS manages the underlying PostgreSQL database and exposes a GraphQL API that the Core API (rdv.ai-api) consumes.

Architecture

We utilize Payload CMS natively within the Next.js App Router. This modern approach allows us to blend custom React frontend routes with auto-generated admin UI and API endpoints seamlessly within the same Node.js process.

Directory Structure

If you are navigating the rdv.ai-dashboard repository for the first time, here are the most important directories to understand:

  • app/: The core Next.js routing directory.
    • app/(dashboard)/: Contains all the client-facing pages (Analytics, Calls, Chats, Calendar, Settings).
    • app/(auth)/: Contains the login and authentication flows.
    • app/(payload)/: The automatically generated and customized Payload CMS admin panels and API routes (e.g., /api/graphql).
  • collections/: This is where the database schema is defined. Every file here (e.g., Users.ts, Calls.ts, Chats.ts, Events.ts) represents a PostgreSQL table managed by Payload CMS.
  • components/: A vast library of reusable React components. We heavily rely on Tailwind CSS and shadcn/ui (Radix UI primitives) for accessible, consistent styling.
  • actions/: Next.js Server Actions. Instead of building traditional REST endpoints for the frontend to communicate with the backend, we use Server Actions to handle form submissions, data mutations, and complex server-side logic directly from our React components.
  • migrations/: Automatically generated database migration scripts. When you change a collection schema, Payload generates a migration file here to apply the changes to the PostgreSQL database.

Authentication & Authorization

Authentication is handled natively by Payload CMS using JWTs (JSON Web Tokens).

Because the Dashboard acts as the central hub, the JWT_SECRET used here is shared with the Core API (rdv.ai-API). This allows the Core API to securely decrypt tokens and authenticate requests coming from the dashboard or the embeddable widgets without needing a separate authentication service.

Next Steps

To dive deeper into how data is modeled and managed, proceed to the Payload CMS Integration documentation.

Last updated on