Setup
Project Structure
Vexui uses file-based routes and keeps shared UI, dashboards, data, and assets in focused source folders.
src/
assets/
images/
logos/
users/
components/
auth/ authentication views and forms
branding/ shared BrandLogo
charts/ ApexCharts wrapper
dashboard/ eight dashboard views and widgets
layout/ AppShell, Header, Sidebar, Customizer
pages/ application page implementations
ui/ reusable Radix-based primitives
data/ navigation and sample data
hooks/ shared React hooks
lib/ settings, chart configuration, utilities
routes/ file-based TanStack routes
styles.css tokens, skins, base styling
Key folders
| Location | Use |
|---|---|
src/routes/ |
Route entry points arranged by URL path. |
src/data/navigation.ts |
Sidebar navigation tree and menu destinations. |
src/lib/nova-settings.ts |
Persisted theme and layout settings. |
src/assets/images/logos/ |
Brand logo and favicon source files. |
src/assets/images/users/ |
Local profile and avatar images. |
Keep it maintainableAdd a view to the appropriate focused component
folder, then create its matching entry under
src/routes/.
Feature entry points
Use the route component to find the page implementation. HospitalPages.tsx, HrmPages.tsx, and SchoolPages.tsx dispatch selected workspaces to dedicated components. Shared hospital catalog data is in src/components/hospital/hospital-page-data.ts.
Standalone documentation sources
vexui-documentation/pages.json stores guide content; release.json stores changelog entries; content.cjs provides rendering helpers; template.html supplies the shared layout. The HTML, CSS, JavaScript, and assets in this folder form the standalone copy. The generator also writes the served copy in public/documentation/.
v2.0.0 Documentation