Danvas
Danvas
DashboardSupportWelcome

👤 USER DOCS

User Guides

Getting Started

Getting StartedDashboard & OnboardingApp Settings

Tutorials

Tutorial: Setting Up Shift Tasks & ClosersTutorial: Managing Incidents in the InboxTutorial: Tracking Compliance & Sync StatusTutorial: Operational Workflows with the AI AssistantTutorial: Building & Deploying Custom Checklists

Daily Operations (Staff)

Shift Workspace & TasksService Day SetupDaily Line-UpStaff Service Day ReportsForms

Communication & Chat

Messages & AnnouncementsUnified Operations InboxAI Assistant

Manager & Admin Guides

Daily Line-Up SetupStaff SchedulingManaging LocationsNPS and Guest FeedbackCouponsContacts and Guest HistoryManager CloseoutsDaily Line-Up & ComplianceAnalyticsIncident ReportingWhistleblower Concerns & FeedbackAdmin Tools

⚙️ DEVELOPER DOCS

Getting Started

Getting StartedDevelopmentDeployment Guide

Architecture

Architecture OverviewExplanation: AI Integration & Tenant SecurityExplanation: Dynamic Forms Engine DesignExplanation: Compliance Ledger DesignExplanation: Live Sync & Data FreshnessData FlowArchitecture Decision Records

Core Domain

Core DomainDatabase ReferenceLocations DomainAuth & RBACScheduling DomainReports DomainIncidents DomainUnified Operations InboxLive Sync Data FreshnessToast Sync PipelineNotifications DomainCoupons and Guest NPSAudit Log & Compliance ArchitectureDesign Audit FindingsAI Chat IntegrationAnalytics & Tips Integration

Frontend

Frontend ArchitectureFormsLoading SkeletonsComponentsPWA & Offline ShellScreenshots

API Reference

API Reference

Endpoints

POS Sales APIOptimization Data APISchedule Shifts APIEmployee Export APIReports APIIncidents APIAI Chat APIPush Notifications APIWebhooks APICron API

Contributing

ContributingCode Examples

Security

Security & Compliance

Release Notes

What's New

Frontend Architecture

Technical design of the Next.js App Router and design system

Overview

The Danvas frontend is built on Next.js 16 using the App Router. It prioritizes Server Components for data fetching and performance, while utilizing Client Components for rich interactivity.

Key Patterns

  • Server Components: Used for all initial page loads and high-performance data views.
  • Client Components: Used for forms, interactive charts, and real-time chat.
  • Server Actions: Preferred pattern for data mutation and form submission.
  • TanStack Query: Used for client-side caching and optimistic updates.

Design System (@repo/design-system)

Our design system is built on shadcn/ui and Tailwind CSS v4.

  • Primitives: Accessible, low-level components from Radix UI.
  • Composition: Prefer composing simple components over large, prop-heavy ones.
  • Theming: Supports system-aware dark mode and location-specific brand colors.

Common Features

Form Patterns

Validation with Zod and submission via Server Actions.

Components

Custom components like StarRating built on the design system.

Image Management

Vercel Blob storage and HEIC conversion.

PWA & Offline

Service worker configuration and push alerts.

Related

Architecture Overview

Auth & RBAC

Core Domain

Analytics & Tips Integration

Tip marts, performance facts, cron writers, and read surfaces for Intelligence → Analytics

Forms

Build and submit dynamic forms per location

On this page

OverviewKey PatternsDesign System (@repo/design-system)Common FeaturesRelated