Skip to content

Documentation

Next.js 16 App Router • React 19 • TypeScript

Kavoryn Documentation

Welcome to the official developer guide for Kavoryn — a modern, responsive SaaS workspace template built with Next.js App Router, TypeScript, and rich dashboard components.

77 Routes
Complete SaaS suite

Dashboards, projects, Kanban board, contacts, interactive calendar, messaging, shop, and CMS.

Zero jQuery
Modern React 19

All interactive controls, modals, tabs, drag-and-drop boards, and dropdowns use clean React state.

SVG Charts
Zero chart bloat

Native SVG implementations of Flot, Morris, Chart.js, Chartist, Peity, and Sparklines.

Dark / Light
Built-in theme engine

Seamless theme switching via CSS custom properties and client persistence in localStorage.

Getting Started

Kavoryn is configured as a standard Next.js 16 project with TypeScript. Requires Node.js 20.9.0 or newer (Node 22 recommended).

1. Installation

Install the project dependencies using npm:

npm install
2. Development Server

Run the development server with Turbopack:

npm run dev

Open http://localhost:3000 in your browser to view the application.

3. Production Build & Verification

Validate TypeScript types and compile an optimized production build:

npm run typecheck
npm run build
npm start

Project Directory Structure

Organized following official Next.js App Router best practices, separating routes, shared components, static data, and styles:

src/
├── app/
│   ├── (dashboard)/       # Workspace pages wrapped in the shared App Shell layout
│   │   ├── layout.tsx     # Shell layout (Header, Sidebar, Navigation)
│   │   ├── page.tsx       # Main Dashboard route (/)
│   │   ├── projects/      # Projects view (/projects)
│   │   ├── kanban/        # Drag-and-drop Kanban (/kanban)
│   │   ├── documentation/ # This documentation page
│   │   └── ...            # Other workspace routes (CMS, Shop, Tables, etc.)
│   ├── (auth)/            # Standalone authentication routes (Login, Register, Lock)
│   ├── layout.tsx         # Root HTML layout, font setup, and UI Provider
│   ├── not-found.tsx      # Global 404 page
│   └── error.tsx          # Error boundary
├── components/
│   ├── layout/            # AppShell, Header, Sidebar, Brand, NavEntry
│   ├── pages/             # Page view components (Projects, Kanban, Shop, etc.)
│   ├── ui/                # Reusable controls (Modals, Icons, DataTables, Toasts)
│   └── charts/            # Native responsive SVG charts (Flot, Chart.js, etc.)
├── data/                  # Typed mock data records, navigation menu, and route map
├── hooks/                 # Custom React hooks (e.g. useStorage for local persistence)
├── lib/                   # Utility helpers (date formatting, CSV export)
├── styles/
│   ├── kavoryn.css        # Custom branding, dark mode, responsive adapters
│   └── original.css       # Core dashboard design system styles
public/                    # Static assets, logos, and profile images

Theming & Customization

The visual styling is managed through CSS custom properties defined in src/styles/kavoryn.css.

Dark Mode

Dark theme is triggered dynamically by changing the data-theme-version attribute on <body>:

// Toggle dark / light mode programmatically:
document.body.setAttribute('data-theme-version', isDark ? 'dark' : 'light');
Color Customization

To change the primary brand color throughout the entire application, edit the CSS variables in src/styles/kavoryn.css:

:root {
  --primary: #886cc0;          /* Main brand purple */
  --rgba-primary-1: rgba(136, 108, 192, 0.1);
  --kv-sidebar: 264px;         /* Sidebar width */
  --kv-header: 88px;           /* Header height */
}

Interactive Workspace Features

📌 Kanban Task Board

Supports native HTML5 drag-and-drop between columns, column task counter updates, accessible "Move to" select controls, task creation modals, and instant localStorage persistence.

💬 Realtime Messaging UI

Live chat interface with conversation switching, message composition, timestamps, and responsive mobile sliding drawer for conversation selection.

📅 Interactive Calendar

Calendar grid with month-by-month navigation, category filters (Work, Personal, Urgent), day selection, and modal-based event scheduling.

📊 Data Tables & Export

Features instant search, column sorting, customizable page sizes, pagination controls, and one-click CSV data export.

Next.js Routes Directory

Browse all 76 Next.js application routes available in the workspace.

76 of 76 Routes
Page TitleNext.js RouteCategoryLayout
Dashboard/Workspace & DashboardWorkspace
Dashboard Dark/dashboard-darkWorkspace & DashboardWorkspace
Projects/projectsWorkspace & DashboardWorkspace
Contacts/contactsWorkspace & DashboardWorkspace
Kanban Board/kanbanWorkspace & DashboardWorkspace
Calendar/calendarWorkspace & DashboardWorkspace
Messages/messagesWorkspace & DashboardWorkspace
Content/cms/contentCMSWorkspace
Add Content/cms/content/newCMSWorkspace
Menus/cms/menusCMSWorkspace
Email Templates/cms/email-templatesCMSWorkspace
Add Email Template/cms/email-templates/newCMSWorkspace
Blog/cms/blogCMSWorkspace
Add Blog Post/cms/blog/newCMSWorkspace
Blog Categories/cms/categoriesCMSWorkspace
Profile/profileApps & E-CommerceWorkspace
Edit Profile/profile/editApps & E-CommerceWorkspace
Post Details/posts/detailsApps & E-CommerceWorkspace
Email Compose/email/composeApps & E-CommerceWorkspace
Email Inbox/email/inboxApps & E-CommerceWorkspace
Email Read/email/readApps & E-CommerceWorkspace
App Calendar/apps/calendarApps & E-CommerceWorkspace
Product Grid/shop/productsApps & E-CommerceWorkspace
Product List/shop/products/listApps & E-CommerceWorkspace
Product Detail/shop/products/detailsApps & E-CommerceWorkspace
Product Order/shop/ordersApps & E-CommerceWorkspace
Checkout/shop/checkoutApps & E-CommerceWorkspace
Invoice/shop/invoiceApps & E-CommerceWorkspace
Customers/shop/customersApps & E-CommerceWorkspace
Widgets/widgetsWorkspace & DashboardWorkspace
Maps/mapsWorkspace & DashboardWorkspace
Table Bootstrap Basic/tables/basicTablesWorkspace
Table Datatable Basic/tables/dataTablesWorkspace
Starter Page/starterWorkspace & DashboardWorkspace
Login/auth/loginAuthenticationStandalone
Register/auth/registerAuthenticationStandalone
Forgot Password/auth/forgot-passwordAuthenticationStandalone
Lock Screen/auth/lockAuthenticationStandalone
Element/forms/elementsFormsWorkspace
Validation/forms/validationFormsWorkspace
Pickers/forms/pickersFormsWorkspace
Wizard/forms/wizardFormsWorkspace
Rich Text Editor/forms/editorFormsWorkspace
Modal/ui/modalUI KitWorkspace
Notifications/plugins/toastrPluginsWorkspace
Typography/ui/typographyUI KitWorkspace
Searchable Select/plugins/select2PluginsWorkspace
Chartjs/charts/chartjsChartsWorkspace
Peity/charts/peityChartsWorkspace
Badge/ui/badgeUI KitWorkspace
Tab/ui/tabUI KitWorkspace
Error 403/errors/403Error PagesStandalone
Dropdown/ui/dropdownUI KitWorkspace
Flot/charts/flotChartsWorkspace
Card/ui/cardUI KitWorkspace
Image Gallery/plugins/lightgalleryPluginsWorkspace
Error 404/errors/404Error PagesStandalone
Morris/charts/morrisChartsWorkspace
List Group/ui/list-groupUI KitWorkspace
Popover/ui/popoverUI KitWorkspace
Grid/ui/gridUI KitWorkspace
Sparkline/charts/sparklineChartsWorkspace
Range Sliders/plugins/noui-sliderPluginsWorkspace
Chartist/charts/chartistChartsWorkspace
Button Group/ui/button-groupUI KitWorkspace
Error 503/errors/503Error PagesStandalone
Dialogs/plugins/sweetalertPluginsWorkspace
Progressbar/ui/progressbarUI KitWorkspace
Carousel/ui/carouselUI KitWorkspace
Sortable Lists/plugins/nestablePluginsWorkspace
Alert/ui/alertUI KitWorkspace
Error 500/errors/500Error PagesStandalone
Accordion/ui/accordionUI KitWorkspace
Error 400/errors/400Error PagesStandalone
Pagination/ui/paginationUI KitWorkspace
Button/ui/buttonUI KitWorkspace

Backend & Database Integration

The template is architected so that mock data and local storage state can be swapped out with real database connections and API endpoints without altering UI markup.

Data Layer Location

All initial dataset models reside in src/data/ (e.g. projects.ts, contacts.ts, messages.ts).

Connecting to a Backend (Prisma, Supabase, Firebase, or REST API)

Create standard Next.js Route Handlers or Server Actions in src/app/api/...:

// Example Route Handler: src/app/api/projects/route.ts
import { NextResponse } from 'next/server';

export async function GET() {
  // Fetch from your database (e.g., Prisma, Supabase, Postgres)
  // const projects = await prisma.project.findMany();
  return NextResponse.json({ success: true, data: [] });
}

Production Deployment

Kavoryn deploys seamlessly on any Node.js hosting platform or container environment.

Vercel (Recommended)
  1. Push your codebase to GitHub, GitLab, or Bitbucket.
  2. Import the repository into the Vercel dashboard.
  3. Vercel automatically detects Next.js, sets the build command to npm run build, and deploys.
Node.js Self-Hosted / Docker

To host on your own VPS or server, build the application and start the server:

npm run build
npm start -p 3000