Introduction & Setup
Welcome to Jiansu — Modern Crypto & Trading React Admin Dashboard Template Documentation.
Thank you for choosing Jiansu! This documentation provides in-depth guidance on how to install, configure, customize, and extend the template for your cryptocurrency exchange, Web3 analytics platform, trading terminal, or financial administration portal.
1. Product Overview: Jiansu Crypto & Trading Admin
Jiansu is a state-of-the-art, high-performance, and feature-complete Crypto & Trading Admin Dashboard template built with React 19, Tailwind CSS v4, and Vite 8. Engineered with modular architecture, isolated reusable UI components, and cutting-edge visual aesthetics, Jiansu delivers everything needed to build production-ready fintech applications.
Key Highlights:
- Modern Tech Stack: Powered by React 19, Tailwind CSS v4, and Vite 8 for blazing fast Hot Module Replacement (HMR) and optimized build outputs.
- 32+ Pre-built Pages: Comprehensive suite of specialized pages for Trading Desks, Portfolio Overview, Wallet Management, KYC Verifications, Security Audit, Transaction Logs, Support Tickets, Authentication, Errors, and UI Elements.
- Dual Theme Mode: Native Dark and Light themes with animated View Transitions API support.
- Bi-directional (LTR & RTL): Full Right-to-Left (RTL) language support with instantaneous toggle.
- Dynamic 8-Color Accent Switcher: Emerald, Ocean Blue, Violet, Ruby Red, Amber, Aqua Cyan, Hot Pink, and Indigo with real-time CSS variable shade generation.
- Lenis Smooth Scrolling: Silky-smooth desktop scrolling experience integrated at root.
- Rich Interactive Visualizations: Financial candlestick charts, order books, spline area trends, and asset allocation donuts powered by ApexCharts and Recharts.
- Code-Splitting & Lazy Loading: Dynamic page-level routing with
React.lazy()and<Suspense>. - Clean & Modular Codebase: Strict component isolation, reusable UI library, and zero console errors or warnings.
Technology Stack:
| Technology | Version | Description |
|---|---|---|
| React | ^19.2.6 | Latest modern frontend component framework |
| React DOM | ^19.2.6 | React package for DOM rendering |
| Tailwind CSS | ^4.3.3 | Next-generation utility-first CSS engine |
| @tailwindcss/vite | ^4.3.0 | Official Tailwind CSS v4 Vite integration plugin |
| Vite | ^8.2.2 | Lightning-fast development server & production bundler |
| React Router DOM | ^7.15.1 | Declarative client-side routing and layout rendering |
| ApexCharts | ^5.13.0 | Interactive charting engine for financial & candlestick data |
| React ApexCharts | ^2.1.0 | Official React wrapper component for ApexCharts |
| Recharts | ^3.8.1 | Composable React SVG charting library for analytics |
| Framer Motion | ^12.43.0 | Production-ready motion library for fluid UI animations |
| GSAP | ^3.15.0 | Professional-grade JavaScript animation engine |
| Lenis | ^1.3.26 | Modern smooth scrolling library |
| Lucide React | ^1.16.0 | Crisp, clean, consistent SVG iconography |
| React Icons | ^5.6.0 | Comprehensive icon collection |
| @headlessui/react | ^2.2.10 | Completely unstyled, accessible UI components |
| React Hot Toast | ^2.6.0 | Lightweight, animated notification toast manager |
| clsx & tailwind-merge | ^2.1.1 / ^3.6.0 | Dynamic class string composition and conflict resolution |
2. License & Usage Terms
ThemeForest / Envato Market license types and their usage guidelines:
Regular License
Use this for a single end product that end-users are not charged for. Perfect for personal projects, client websites, internal dashboards, or company tools where no subscription fee is required from users.
Extended License
Use this for a single end product where end-users can be charged for access (e.g., a commercial SaaS exchange, paid trading terminal, subscription analytics platform, or product for sale).
Important Notice
Each license grants rights for a single end product. You may not re-distribute, sub-license, resell, or share the source code publicly. For official terms, please review the Envato License Terms.
3. Changelog
Track the continuous evolution, features, and releases of Jiansu.
v1.0.0 — Initial Release
Current ReleaseDate: 28 October 2026
- Core Framework: Built from the ground up with React 19, Tailwind CSS v4, and Vite 8.
- 32+ Pre-built Pages:
- Dashboards: Portfolio Overview, Live Trading Desk (Orderbook & Candlesticks), Security Center (2FA & Audit Logs), Transaction History.
- App Modules: Multi-currency Wallet Balances, Tiered KYC Verification, Supported Trading Pairs Status, Support Ticket Portal, Payment & Transaction Management, Platform & Account Settings.
- Authentication Suite: Clean, split-view modern layouts for Sign In, Sign Up, Forgot Password, Reset Password, and Email / OTP Verification.
- System & Error Pages: Custom interactive 404 Not Found & 500 Internal Server Error pages with automatic recovery routes.
- UI Elements Library: Comprehensive showcase for Accordion, Alerts, Avatars, Badges, Breadcrumbs, Buttons, Cards, Charts, Dropdowns, Input & Forms, Modals, Progress Bars, Pagination, Spinners, and Data Tables.
- Theme & Direction Engine:
- Native dual-theme engine (Dark & Light Mode) with View Transitions API support.
- Full RTL (Right-to-Left) & LTR bi-directional layout support for internationalization.
- Dynamic 8-color primary palette switcher with real-time CSS variable shade generation.
- Visualizations: Interactive Candlestick and spline area charts using ApexCharts, plus asset allocation donut and performance area charts using Recharts.
- UX & Motion: Silky-smooth scrolling experience powered by Lenis and fluid micro-animations powered by Framer Motion.
- Developer Experience: Zero console errors, zero warnings, clean ESLint flat configuration, and optimized Rollup chunking.
4. File Structure
Jiansu follows a clean, modular folder organization adhering to React 19 and Vite best practices:
jiansu/
├── public/ # Static assets accessible directly
│ ├── documentation/ # Standalone offline documentation
│ │ ├── css/ # Documentation stylesheets (app.css, bootstrap)
│ │ ├── images/ # Documentation visual assets
│ │ ├── js/ # Documentation scripts
│ │ ├── doc.html # Main documentation page
│ │ └── index.html # Documentation showcase landing
│ ├── favicon.ico # Browser tab favicon
│ └── icons.svg # SVG icons sprite
├── src/
│ ├── assets/ # Static media and brand assets
│ │ ├── logo/ # Brand logos (logo-dark.png, logo-light.png, logo-sm.png)
│ │ ├── user/ # Demo avatars and profile images
│ │ └── card-img/ # Showcase cards and banners
│ ├── components/
│ │ ├── context/ # Global context providers
│ │ │ └── theme-context.jsx # Dark/Light mode, RTL/LTR, dynamic primary color
│ │ ├── layout/ # Shell and layout architecture
│ │ │ ├── dashboard.jsx # Master layout wrapper with header, sidebar & rightbar
│ │ │ ├── navbar.jsx # Top sticky header with search, notifications, profile
│ │ │ ├── sidebar.jsx # Collapsible navigation sidebar
│ │ │ ├── menu-data.jsx # Structured menu routes, labels, and icons
│ │ │ ├── rightbar.jsx # Slide-out theme customizer drawer
│ │ │ ├── footer.jsx # Footer bar with copyright
│ │ │ └── style-helpers.jsx # Shared style utility functions
│ │ ├── mockdata/ # Curated JSON mock datasets
│ │ │ ├── overview-data.json
│ │ │ ├── trading-data.json
│ │ │ ├── wallet-data.json
│ │ │ ├── chart-data.json
│ │ │ ├── kyc-data.json
│ │ │ ├── security-data.json
│ │ │ ├── table-data.json
│ │ │ └── settings-data.json
│ │ ├── pages/ # Application pages
│ │ │ ├── auth/ # Login, Register, Forgot Password, Reset, Verify
│ │ │ ├── dashboard/ # Overview, Trading, Security, KYC, Wallet, etc.
│ │ │ └── errors/ # 404 Not Found, 500 Server Error
│ │ ├── ui/ # Reusable atomic UI components (Button, Card, Input...)
│ │ └── ui-elements/ # Interactive showcase pages for UI components
│ ├── routes/
│ │ └── routes-path.jsx # Master route configuration with lazy loading & Suspense
│ ├── App.jsx # Top-level component with Lenis smooth scroll
│ ├── index.css # Tailwind CSS v4 setup, font imports, custom animations
│ └── main.jsx # React 19 root entry with BrowserRouter & ThemeProvider
├── eslint.config.js # ESLint flat configuration
├── index.html # Root HTML template with meta SEO tags
├── jsconfig.json # Path aliasing configuration
├── package.json # Project dependencies, scripts, and metadata
├── vite.config.js # Vite build setup with Rollup vendor chunking
└── README.md # Project summary & quick reference
5. Installation Guide
Follow these quick steps to get Jiansu up and running on your local machine.
System Prerequisites:
- Node.js:
v18.0.0or higher (v20+ LTSrecommended). Check withnode -v. - Package Manager:
npm(v9+),yarn, orpnpm. Check withnpm -v. - Browser: Modern Chromium, Firefox, or Safari with modern CSS support.
Step 1: Extract the Archive
Download the ZIP archive from ThemeForest and extract it to your preferred working directory.
Step 2: Open Terminal in Project Folder
cd jiansu
Step 3: Install Node Dependencies
Execute your preferred package manager to install all required libraries:
# Using npm (recommended)
npm install
# Or using yarn
yarn install
# Or using pnpm
pnpm install
Step 4: Launch the Development Server
Start the Vite development server with Hot Module Replacement (HMR):
npm run dev
Your terminal will display the local development URL, typically:
http://localhost:5173 in your web browser.
6. Deployment & Production Build
To compile and optimize Jiansu for a production environment:
npm run build
This command compiles all JSX, minifies stylesheets, tree-shakes unused dependencies, and generates an optimized production bundle inside the dist/ directory.
Preview the Production Build Locally:
npm run preview
Deployment Targets:
- Vercel: Import the repository and set the framework preset to
Vite. The build command isnpm run buildand the output directory isdist. - Netlify: Connect your Git repository, set the build command to
npm run build, and publish directory todist. Ensure client-side routing redirect is configured (/* /index.html 200). - Apache / Nginx / Traditional Hosting: Upload all files inside
dist/directly to your web server root (public_htmlor/var/www/html). Ensure fallback routing toindex.htmlis enabled for React Router.
7. Theme & Dark Mode Management
Jiansu features a comprehensive, state-of-the-art theme system managed via ThemeProvider in src/components/context/theme-context.jsx. It provides persistent theme state in localStorage and animated View Transitions API support.
How to Change the Default Theme Mode:
By default, Jiansu opens in dark mode (ideal for crypto & trading interfaces). If you prefer light mode by default, open src/components/context/theme-context.jsx and edit line 49:
// src/components/context/theme-context.jsx
// Change "dark" to "light"
const [theme, setTheme] = useState("light");
Accessing Theme State via Hook:
You can read or toggle the theme anywhere in your application using the custom useTheme() hook:
import { useTheme } from '../components/context/theme-context';
const ThemeToggleButton = () => {
const { theme, toggleTheme } = useTheme();
return (
<button onClick={() => toggleTheme('circle-blur', 'top-right')}>
Current Mode: {theme === 'dark' ? 'Dark' : 'Light'}
</button>
);
};
8. Color Customization & Accent Switcher
Jiansu features a dynamic primary color system. When a color is selected, the application automatically computes CSS variables for --primary-color and all 11 tint/shade stops (--primary-50 to --primary-950).
Changing the Default Primary Accent:
Open src/components/context/theme-context.jsx and modify the DEFAULT_PRIMARY constant (default is Emerald Green #22c55e):
// src/components/context/theme-context.jsx
// Change to any hex color of your choice
const DEFAULT_PRIMARY = "#22c55e"; // Emerald (Crypto default)
Curated 8-Color Palette in Theme Customizer:
The slide-out settings drawer (src/components/layout/rightbar.jsx) provides 8 pre-configured palette presets:
| Accent Name | Hex Code | Use Case |
|---|---|---|
| Emerald | #22c55e |
Default crypto profit green & exchange theme |
| Ocean Blue | #3b82f6 |
Corporate fintech, banking & institutional trading |
| Violet | #8b5cf6 |
Web3, DeFi protocols, NFT marketplaces |
| Ruby Red | #ef4444 |
High-energy trading desks & risk monitors |
| Amber | #f59e0b |
Bitcoin gold, commodities, and token sales |
| Aqua Cyan | #06b6d4 |
Futures, derivatives & liquidity analytics |
| Hot Pink | #ec4899 |
Modern creative decentralized applications |
| Indigo | #6366f1 |
Data-heavy analytical dashboards |
9. Font Customization
Jiansu uses Google's modern geometric font Montserrat as the default typography across all components, headings, and data values.
How Montserrat is Configured:
In src/index.css:
/* src/index.css */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
html {
font-family: "Montserrat", sans-serif;
}
To Change the Font Family:
- Visit Google Fonts and select your preferred font (e.g.
Inter,Outfit,Poppins). - Copy the provided
@importlink. - Replace the import at line 1 of
src/index.cssand update thefont-familydefinition underhtml.
10. RTL (Right-to-Left) & Bi-directional Support
Jiansu provides full, out-of-the-box support for Right-to-Left (RTL) languages such as Arabic, Hebrew, Persian, and Urdu.
How Direction Works:
- Managed via
toggleDirection()inThemeContext. - Dynamically toggles the
dir="rtl"ordir="ltr"attribute on the root<html>element. - Tailwind CSS logical properties (e.g.,
ps-,pe-,ms-,me-,border-s,border-e,start-,end-) automatically flip all alignments, paddings, and margins seamlessly.
Set RTL as the Default Direction:
Open src/components/context/theme-context.jsx and update line 50:
// src/components/context/theme-context.jsx
// Change "ltr" to "rtl"
const [direction, setDirection] = useState("rtl");
11. Layout Architecture
All core layout containers and shell components are located in src/components/layout/.
| Component | File Path | Role & Functionality |
|---|---|---|
| DashboardLayout | src/components/layout/dashboard.jsx |
Master layout wrapper providing the sidebar, top navbar, page outlet, footer, and theme drawer. |
| Navbar | src/components/layout/navbar.jsx |
Top sticky navigation bar with search bar, notification drawer, currency switcher, user dropdown, and theme toggles. |
| Sidebar | src/components/layout/sidebar.jsx |
Collapsible navigation sidebar rendering grouped routes with badge indicators and active route styling. |
| Menu Data | src/components/layout/menu-data.jsx |
Centralized configuration array defining all navigation links, icons, labels, and routes. |
| Rightbar | src/components/layout/rightbar.jsx |
Slide-out customization drawer allowing live adjustments to Theme Mode, Layout Direction, Sticky Navbar, and Accent Colors. |
| Footer | src/components/layout/footer.jsx |
Bottom footer component displaying copyright notices and support links. |
12. Routing Setup & Adding Pages
Jiansu uses React Router DOM v7 with dynamic code-splitting via React.lazy() and <Suspense> inside src/routes/routes-path.jsx.
Step 1: Create Your New Page Component
Create a new component file inside src/components/pages/dashboard/:
// src/components/pages/dashboard/staking.jsx
import React from 'react';
import Card from '../../ui/card';
const StakingPage = () => {
return (
<div className="space-y-6">
<h1 className="text-2xl font-bold text-gray-900 dark:text-white">
Crypto Staking Pool
</h1>
<Card>
<p className="text-gray-600 dark:text-gray-400">
Lock tokens and earn estimated APY yields.
</p>
</Card>
</div>
);
};
export default StakingPage;
Step 2: Register Route in src/routes/routes-path.jsx
// 1. Add lazy import near the top
const Staking = lazy(() => import('../components/pages/dashboard/staking'));
// 2. Add route inside <Route path="/" element={<DashboardLayout />}>
<Route path="staking" element={<Staking />} />
Step 3: Add to Navigation Menu in src/components/layout/menu-data.jsx
// src/components/layout/menu-data.jsx
{
title: "Staking Pool",
path: "/staking",
icon: "Coins" // Lucide icon name
}
13. Core UI Components Library
All reusable atomic components are located in src/components/ui/. Each component is self-contained, typed with clean props, and styled with responsive Tailwind CSS classes for Dark and Light themes.
Available Reusable Components:
- Accordion —
src/components/ui/accordion.jsx - Alerts —
src/components/ui/alerts.jsx - Avatars —
src/components/ui/avatars.jsx - Badges —
src/components/ui/badges.jsx - Breadcrumbs —
src/components/ui/breadcrumbs.jsx - Buttons —
src/components/ui/buttons.jsx - Card & InnerCard —
src/components/ui/card.jsx - Charts —
src/components/ui/charts.jsx
- Dropdowns —
src/components/ui/dropdowns.jsx - Input & Form Controls —
src/components/ui/input.jsx - Modals & Dialogs —
src/components/ui/modals.jsx - Page Loader —
src/components/ui/page-loader.jsx - Pagination —
src/components/ui/pagination.jsx - Progress Bars —
src/components/ui/progressbars.jsx - Select & Spinners —
src/components/ui/select.jsx - Data Table —
src/components/ui/table.jsx
Usage Example:
import Card from '../ui/card';
import { Button } from '../ui/buttons';
import { Badge } from '../ui/badges';
function PortfolioSummary() {
return (
<Card className="p-6">
<div className="flex items-center justify-between">
<h3 className="text-lg font-bold">Total Asset Balance</h3>
<Badge variant="success">+14.8% APY</Badge>
</div>
<p className="text-3xl font-extrabold mt-3">$84,230.50</p>
<div className="mt-4 flex gap-3">
<Button variant="primary">Deposit</Button>
<Button variant="outline">Withdraw</Button>
</div>
</Card>
);
}
14. Trading & Data Charts
Jiansu integrates ApexCharts and Recharts for high-frequency financial and portfolio visualizations.
ApexCharts Candlestick & Financial Chart:
import ReactApexChart from 'react-apexcharts';
const candlestickSeries = [{
data: [
{ x: new Date('2026-10-28').getTime(), y: [65200, 66100, 64900, 65800] },
{ x: new Date('2026-10-29').getTime(), y: [65800, 67400, 65500, 67150] }
]
}];
const candlestickOptions = {
chart: {
type: 'candlestick',
height: 350,
background: 'transparent',
toolbar: { show: false }
},
theme: { mode: 'dark' },
xaxis: { type: 'datetime' },
plotOptions: {
candlestick: {
colors: {
upward: '#22c55e', // Green for price surge
downward: '#ef4444' // Red for price dip
}
}
}
};
<ReactApexChart
options={candlestickOptions}
series={candlestickSeries}
type="candlestick"
height={350}
/>
Mock Data Source:
All chart data series and timeline configurations are stored in src/components/mockdata/chart-data.json. You can easily replace these with real REST or WebSocket endpoints.
15. Tables & Mock Data Integration
Jiansu features structured, responsive data tables with pagination, search, status badges, and copyable transaction hashes.
Mock Data Architecture:
Data throughout the application is cleanly organized in src/components/mockdata/:
overview-data.json— Portfolio balances, recent trading activities, top gainers/losers.trading-data.json— Order book bids/asks, market depth, execution logs.wallet-data.json— Crypto assets (BTC, ETH, SOL, USDT), available balances, lockups.transaction-data.json— Deposit/withdrawal transactions with TXID and confirmations.kyc-data.json— Identity verification applicants, document status, tier ratings.security-data.json— 2FA status, API keys, session logs, IP whitelist rules.
16. FAQ (Frequently Asked Questions)
src/assets/logo/:
logo-dark.png(used in dark mode)logo-light.png(used in light mode)logo-sm.png(used when sidebar is collapsed)
src/components/layout/sidebar.jsx and src/components/layout/navbar.jsx.
src/components/pages/dashboard/trading.jsx), replace the static mock data with a native WebSocket connection inside a useEffect hook:
useEffect(() => {
const ws = new WebSocket('wss://stream.binance.com:9443/ws/btcusdt@ticker');
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
setPrice(data.c);
};
return () => ws.close();
}, []);
src/components/context/theme-context.jsx and modify DEFAULT_PRIMARY = "#22c55e" to your preferred brand hex code. All shades (50 through 950) are computed automatically at runtime.
src/components/context/theme-context.jsx, change useState("ltr") to useState("rtl") on line 50. Jiansu will automatically render in RTL direction on initial load.
# Delete lockfile and dependencies
rm -rf node_modules package-lock.json
# Clean npm cache and re-install
npm cache clean --force
npm install
17. Credits & Sources
Libraries, frameworks, and assets integrated in Jiansu:
| Resource | Description | Official Website |
|---|---|---|
| React.js | Frontend JavaScript Framework | react.dev |
| Tailwind CSS v4 | Utility-First CSS Framework | tailwindcss.com |
| Vite | Next Generation Frontend Tooling | vitejs.dev |
| ApexCharts | Financial & Candlestick Charts | apexcharts.com |
| Recharts | Composable React SVG Charts | recharts.org |
| Lucide React | Clean & Lightweight SVG Icons | lucide.dev |
| Framer Motion | React Motion & Animation Library | motion.dev |
| Lenis | Smooth Scroll Engine | darkroom.engineering |
| Google Fonts | Montserrat Typography | fonts.google.com |
Note: All brand logos and demo graphics are for demonstration purposes only. Please replace them with your own brand assets in production.
18. Support & Contact
We provide dedicated support for any inquiries, setup assistance, or technical questions.
Mantraksh Devs Support Channel:
- Email: [email protected]
- Website: mantrakshdevs.com
- Response Time: Typically within 24 to 48 business hours.