Welcome to Fleetyu - A complete React.js Logistics Admin Dashboard Template documentation
Fleetyu is a modern, responsive admin dashboard template built with React 19, Tailwind CSS v4, and Vite. This template is specifically designed for Logistics, Inventory Management, and Supply Chain Tracking.
| Technology | Version | Description |
|---|---|---|
| React | v18.3.1 | Frontend Framework |
| Tailwind CSS | v4.1.13 | Utility-First CSS Framework |
| Vite | v7.1.7 | Lightning Fast Build Tool |
| React Router DOM | v7.9.1 | Client-Side Routing |
| ApexCharts | v5.3.5 | Interactive Charts Library |
| Recharts | v3.2.1 | Composable Chart Library |
| Leaflet | v1.9.4 | Interactive Maps |
| TanStack Table | v8.21.3 | Headless Data Tables |
| Framer Motion | v12.23.19 | Production-Ready Animations |
| GSAP | v3.13.0 | Professional Animation Library |
| FullCalendar | v6.1.19 | Full-Featured Calendar |
| Headless UI | v2.2.8 | Unstyled Accessible Components |
| React Icons | v5.5.0 | Popular Icon Packs |
| Swiper | v12.0.2 | Modern Touch Slider |
| Emoji Picker React | v4.0.8 | Emoji Picker Component |
Standard marketplace license types and their usage limitations:
You can use the template for one project. Only you can access and use it.
You can use the template for multiple projects. Your team members or multiple users can also access it.
If you intend to use the template for a client project, an end product for sale, or any commercial purpose, you are required to purchase the Extended License.
The project follows React/Vite standards for easy customization.
fleetyu/
├── public/
│ ├── documentation/
├── src/
│ ├── App.jsx
│ ├── index.css
│ ├── main.jsx
│ ├── assets/
│ ├── components/
│ ├── context/
│ ├── data/
│ ├── hooks/
│ ├── layout/
│ ├── pages/
│ │ ├── app/
│ │ ├── auth/
│ │ ├── dashboard/
│ │ ├── error/
│ │ ├── icons/
│ │ ├── logistics/
│ │ ├── page/
│ │ └── ui/
│ ├── routes/
├── .gitignore
├── package.json
├── vite.config.js
└── README.md
To run the template, you need Node.js (v18+) and npm/yarn installed.
Download the Zip file from Wrapmarket and extract it to your local system.
Open terminal and navigate to the project root directory:
cd Fleetyu
Run this command to install all required libraries:
npm install
# or
yarn install
Run this command to start the project in development mode:
npm run dev
# or
yarn dev
The project will typically start at
http://localhost:5173
To create an optimized build for production, run the following command:
npm run build
# or
yarn build
This command will create a dist/ folder containing all optimized HTML, CSS, and JavaScript files. You can upload the contents of the
dist/ folder to your hosting server.
vercel --prodAll colors in Fleetyu are set in the
src/index.css
file. You can easily change Primary, Secondary, and other colors here.
@theme {
/* Change your Primary Color here */
--color-primary-50: #befdf0;
--color-primary-100: #9cf9e3;
--color-primary-200: #7af5d6;
--color-primary-300: #58f1c9;
--color-primary-400: #36edbc;
--color-primary-500: #14e9af;
--color-primary-600: #216d61; /* Main Primary */
--color-primary-700: #1b564d;
--color-primary-800: #154039;
--color-primary-900: #0e3c34;
--color-primary: var(--color-primary-600);
}
After making changes, restart the development server.
The template primarily uses 'Nunito Sans' font, which is imported via Google Fonts in src/index.css.
src/index.css file and replace the old Font Link with the new one/* src/index.css */
@import url('https://fonts.googleapis.com/css2?family=Your+Font+Name&display=swap');
body {
font-family: 'Your Font Name', sans-serif !important;
}
Fleetyu uses React Context API for global state management. All layout settings are controlled via Context providers located in src/context/.
Purpose: Controls Dark/Light mode theme switching
Location: src/context/ThemeContext.jsx
Features:
// Usage in components
import { useTheme } from '../context/ThemeContext';
const MyComponent = () => {
const { theme, toggleTheme } = useTheme();
return (
<button onClick={toggleTheme}>
Current Theme: {theme}
</button>
);
};
Purpose: Manages sidebar collapsed/expanded state
Location: src/context/SidebarContext.jsx
Features:
// Usage in components
import { useSidebar } from '../context/SidebarContext';
const Header = () => {
const { isSidebarOpen, toggleSidebar } = useSidebar();
return (
<button onClick={toggleSidebar}>
{isSidebarOpen ? 'Close' : 'Open'} Sidebar
</button>
);
};
Purpose: Controls theme customization options
Location: src/context/CustomizerContext.jsx
Features:
// Usage in components
import { useCustomizer } from '../context/CustomizerContext';
const Customizer = () => {
const { sidebarColor, setSidebarColor } = useCustomizer();
return (
<select onChange={(e) => setSidebarColor(e.target.value)}>
<option value="primary">Primary</option>
<option value="secondary">Secondary</option>
</select>
);
};
Purpose: Enables Right-to-Left (RTL) language support
Location: src/context/RTLContext.jsx
Features:
// Usage in components
import { useRTL } from '../context/RTLContext';
const LanguageSwitch = () => {
const { isRTL, toggleRTL } = useRTL();
return (
<button onClick={toggleRTL}>
Direction: {isRTL ? 'RTL' : 'LTR'}
</button>
);
};
Purpose: Manages user authentication and profile data
Location: src/context/UserContext.jsx
Features:
// Usage in components
import { useUser } from '../context/UserContext';
const ProfileCard = () => {
const { user, setUser } = useUser();
return (
<div>
<h3>{user?.name}</h3>
<p>{user?.email}</p>
</div>
);
};
All context providers are wrapped in src/App.jsx. To modify default settings, edit the respective context file and change the initial state values.
Fleetyu includes pre-built layout components that structure your application. All layout files are located in src/layout/.
| Component | File | Description |
|---|---|---|
| Layout | Layout.jsx |
Main layout wrapper that combines Header, Sidebar, and content area |
| Header | Header.jsx |
Top navigation bar with search, notifications, and user menu |
| Sidebar | Sidebar.jsx |
Left navigation sidebar with menu items from sidebar-data.json |
| RightSidebar | RightSidebar.jsx |
Right panel for theme customization and settings |
| Footer | Footer.jsx |
Footer component with copyright and links |
| Loader | Loader.jsx |
Loading spinner shown during page transitions |
Note: Icons use React Icons library. Make sure to import the icon in Sidebar.jsx if you add a new icon.
Fleetyu uses React Router DOM. To add a new route, you need to make changes in two places:
Create your new component in the src/pages/folder:
// src/pages/reports/NewReport.jsx
import React from 'react';
const NewReport = () => {
return (
<div>
<h1>New Report Page</h1>
<p>Your content here</p>
</div>
);
};
export default NewReport;
Open src/routes/RoutesPath.jsx file and add your new route:
import NewReport from '../pages/reports/NewReport';
// Inside your Routes component
<Route path="/new-report" element={<NewReport />} />
If you want your new page to appear in the sidebar menu, add it to src/data/sidebar-data.json:
{
"id": "new-report",
"label": "New Report",
"icon": "FaFileAlt",
"link": "/new-report"
}
All small, reusable Components are available in the
src/components/ui/ folder.
import Button from '../components/ui/Button';
import Modal from '../components/ui/Modal';
import Card from '../components/ui/Card';
function MyPage() {
return (
<Card>
<h2>My Page</h2>
<Button variant="solid" color="primary">
Click Me
</Button>
</Card>
);
}
All components are located in src/components/ui/ and can be easily imported and customized.
Fleetyu uses ApexCharts and Recharts for data visualization.
import ReactApexChart from 'react-apexcharts';
const series = [{
name: "Shipments",
data: [100, 40, 28, 51, 42, 109, 100] // Change this data
}];
const options = {
chart: {
type: 'line',
toolbar: { show: false }
},
colors: ['#027F80'],
stroke: { curve: 'smooth', width: 3 },
xaxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul']
},
theme: {
mode: 'dark' // or 'light'
}
};
<ReactApexChart
options={options}
series={series}
type="line"
height={350}
/>
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
const data = [
{ name: 'Jan', value: 400 },
{ name: 'Feb', value: 300 },
{ name: 'Mar', value: 600 },
{ name: 'Apr', value: 800 }
];
<ResponsiveContainer width="100%" height={300}>
<BarChart data={data}>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Bar dataKey="value" fill="#027F80" radius={[8, 8, 0, 0]} />
</BarChart>
</ResponsiveContainer>
Data Source: Most chart data is set in the src/data/ folder or directly in the Component file. You need to update the series and options props of the chart.
React-Leaflet is used for Map Integration in logistics tracking.
import { MapContainer, TileLayer, Marker, Popup, Polyline } from 'react-leaflet';
import L from 'leaflet';
import 'leaflet/dist/leaflet.css';
// Custom marker icon
const markerIcon = L.icon({
iconUrl: 'https://unpkg.com/[email protected]/dist/images/marker-icon.png',
shadowUrl: 'https://unpkg.com/[email protected]/dist/images/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
const mapCenter = [12.9716, 77.5946]; // Bangalore coordinates
<MapContainer
center={mapCenter}
zoom={12}
scrollWheelZoom={false}
style={{ height: '400px', width: '100%' }}
>
<TileLayer url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" />
{/* Add route line */}
<Polyline
positions={[[12.9716, 77.5946], [12.985, 77.62]]}
pathOptions={{ color: '#027F80', weight: 4 }}
/>
{/* Add markers */}
<Marker position={mapCenter} icon={markerIcon}>
<Popup>Origin Location</Popup>
</Marker>
<Marker position={[12.985, 77.62]} icon={markerIcon}>
<Popup>Destination</Popup>
</Marker>
</MapContainer>
Markers and Routes: The data for Truck Locations, Warehouses, and Delivery Routes shown on the map is set in an Array inside the Component. You need to change the Latitude and Longitude coordinates here.
TanStack Table is used for Inventory List and Driver Details, which is very powerful and highly customizable.
import { useReactTable, getCoreRowModel, flexRender } from '@tanstack/react-table';
// Sample data
const data = [
{ id: 1, name: 'Product A', stock: 100, status: 'In Stock' },
{ id: 2, name: 'Product B', stock: 50, status: 'Low Stock' },
{ id: 3, name: 'Product C', stock: 0, status: 'Out of Stock' }
];
// Define columns
const columns = [
{ accessorKey: 'id', header: 'ID' },
{ accessorKey: 'name', header: 'Product Name' },
{ accessorKey: 'stock', header: 'Stock Quantity' },
{ accessorKey: 'status', header: 'Status' }
];
// Initialize table
const table = useReactTable({
data,
columns,
getCoreRowModel: getCoreRowModel()
});
// Render table
<table className="table">
<thead>
{table.getHeaderGroups().map(headerGroup => (
<tr key={headerGroup.id}>
{headerGroup.headers.map(header => (
<th key={header.id}>
{flexRender(
header.column.columnDef.header,
header.getContext()
)}
</th>
))}
</tr>
))}
</thead>
<tbody>
{table.getRowModel().rows.map(row => (
<tr key={row.id}>
{row.getVisibleCells().map(cell => (
<td key={cell.id}>
{flexRender(
cell.column.columnDef.cell,
cell.getContext()
)}
</td>
))}
</tr>
))}
</tbody>
</table>
Data Source: Table data is typically imported from JSON files in the src/data/ folder. Changing data in these files will update the Table.
Columns: Table Columns are set in the Component file. You can Add/Remove new Columns from here.
public/ folder path is correct. Also ensure all dependencies are installed with npm install. Check that image paths start with / for public folder assets.
src/assets/logo/ folder and update the path in src/layout/Sidebar.jsx and src/layout/Header.jsx. Make sure to use the same file format or update the import statement.
src/layout/Header.jsx or src/layout/RightSidebar.jsx. To set a default theme, modify the initial state in src/context/ThemeContext.jsx.
node_modules folder and package-lock.json, then run npm install again.npm cache clean --forcesrc/pages/src/routes/RoutesPath.jsxsrc/data/sidebar-data.json with id, label, icon, and link
fetch or axios for API calls. Create an API service file in src/services/ to centralize your API calls. Use React hooks like useEffect to fetch data on component mount. Consider using React Query or SWR for better data fetching and caching.
src/index.css and modify the --color-primary-* variables in the @theme section. Change --color-primary-600 for the main primary color. The dev server will auto-reload with your changes.
useState. Update the state with new data from API calls or user interactions. The chart will automatically re-render with the new data. See the Charts section for code examples.
List of all External Resources used in this template:
| Resource | Description | Link |
|---|---|---|
| React.js | Frontend Framework | react.dev |
| Tailwind CSS | Styling Framework | tailwindcss.com |
| Vite | Build Tool | vitejs.dev |
| ApexCharts | Charts Library | apexcharts.com |
| Recharts | Alternative Charts Library | recharts.org |
| Leaflet | Maps Library | leafletjs.com |
| TanStack Table | Data Tables | tanstack.com/table |
| React Icons | Icon Library | react-icons |
| FullCalendar | Calendar Component | fullcalendar.io |
| Unsplash | Images (Demo Purpose) | unsplash.com |
| Freepik | Graphics (Demo Purpose) | freepik.com |
Important: All Images are for Demo Purpose only. You must use your own images in Production.
We provide Dedicated Support for 6 months from the date of purchase.
Date: 13 February, 2026