Introduction & Setup

Welcome to Fleetyu - A complete React.js Logistics Admin Dashboard Template documentation

1. Product Overview: Fleetyu Logistics Admin Template

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.

Key Features:

  • Logistics Dashboard with Real-time Tracking UI
  • Map Integration via Leaflet/React-Leaflet
  • Advanced Data Tables (TanStack Table)
  • Dark Mode Support
  • Built with latest React 19 and Tailwind CSS v4
  • 50+ UI Components
  • Fully Responsive Design
  • RTL Support

Technology Stack:

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

2. License & Usage Terms

Standard marketplace license types and their usage limitations:

Single License

You can use the template for one project. Only you can access and use it.

Multiple License

You can use the template for multiple projects. Your team members or multiple users can also access it.

Extended License

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.

3. File Structure

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

4. Installation Guide

To run the template, you need Node.js (v18+) and npm/yarn installed.

Step 1: Download & Extract

Download the Zip file from Wrapmarket and extract it to your local system.

Step 2: Navigate to Project

Open terminal and navigate to the project root directory:

cd Fleetyu

Step 3: Install Dependencies

Run this command to install all required libraries:

npm install
  # or
  yarn install

Step 4: Start Development Server

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

5. Deployment

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.

Popular Hosting Platforms:

  • Vercel: vercel --prod
  • Netlify: Drag & drop dist/ folder or use Netlify CLI
  • GitHub Pages: Use gh-pages package
  • Apache/Nginx: Upload dist/ contents to server

6. Color Customization

All colors in Fleetyu are set in the src/index.css file. You can easily change Primary, Secondary, and other colors here.

Modify src/index.css:

@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.

7. Font Customization

The template primarily uses 'Nunito Sans' font, which is imported via Google Fonts in src/index.css.

To Change Font:

  1. Go to Google Fonts and select your preferred font
  2. Get the new @import link
  3. Open src/index.css file and replace the old Font Link with the new one
  4. Also change the Font-Family in the body tag
/* 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;
  }

8. Layout Options & Context Management

Fleetyu uses React Context API for global state management. All layout settings are controlled via Context providers located in src/context/.

Available Context Providers:

1. ThemeContext.jsx

Purpose: Controls Dark/Light mode theme switching

Location: src/context/ThemeContext.jsx

Features:

  • Toggle between dark and light themes
  • Persist theme preference in localStorage
  • Apply theme class to document root
// Usage in components
import { useTheme } from '../context/ThemeContext';

const MyComponent = () => {
  const { theme, toggleTheme } = useTheme();
  
  return (
    <button onClick={toggleTheme}>
      Current Theme: {theme}
    </button>
  );
};
2. SidebarContext.jsx

Purpose: Manages sidebar collapsed/expanded state

Location: src/context/SidebarContext.jsx

Features:

  • Toggle sidebar visibility
  • Control sidebar collapse state
  • Responsive sidebar behavior
// Usage in components
import { useSidebar } from '../context/SidebarContext';

const Header = () => {
  const { isSidebarOpen, toggleSidebar } = useSidebar();
  
  return (
    <button onClick={toggleSidebar}>
      {isSidebarOpen ? 'Close' : 'Open'} Sidebar
    </button>
  );
};
3. CustomizerContext.jsx

Purpose: Controls theme customization options

Location: src/context/CustomizerContext.jsx

Features:

  • Sidebar color schemes
  • Sidebar gradient options
  • Layout style preferences
  • Custom theme settings
// 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>
  );
};
4. RTLContext.jsx

Purpose: Enables Right-to-Left (RTL) language support

Location: src/context/RTLContext.jsx

Features:

  • Toggle RTL/LTR direction
  • Support for Arabic, Hebrew, and other RTL languages
  • Automatic layout adjustment
// Usage in components
import { useRTL } from '../context/RTLContext';

const LanguageSwitch = () => {
  const { isRTL, toggleRTL } = useRTL();
  
  return (
    <button onClick={toggleRTL}>
      Direction: {isRTL ? 'RTL' : 'LTR'}
    </button>
  );
};
5. UserContext.jsx

Purpose: Manages user authentication and profile data

Location: src/context/UserContext.jsx

Features:

  • Store user information
  • Authentication state management
  • User profile data
// 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>
  );
};
Pro Tip

All context providers are wrapped in src/App.jsx. To modify default settings, edit the respective context file and change the initial state values.

8.1 Layout Components

Fleetyu includes pre-built layout components that structure your application. All layout files are located in src/layout/.

Layout Structure:

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.

9. Routing Setup

Fleetyu uses React Router DOM. To add a new route, you need to make changes in two places:

Step 1: Create Page Component

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;

Step 2: Add Route

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 />} />

Step 3: Add to Sidebar (Optional)

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"
}

10. Core UI Components

All small, reusable Components are available in the src/components/ui/ folder.

Usage Example:

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>
    );
  }

Available UI Components (16+):

  • Accordion - Collapsible content panels
  • Alerts - Notification messages with variants
  • Avatar - User profile images with sizes
  • Badges - Status indicators and labels
  • Button - Multiple variants (solid, outline, soft, ghost)
  • Card - Container component with shadow
  • Carousel - Image and content slider
  • Dropdown - Menu component with options
  • Input - Form input fields with validation
  • Masonry - Pinterest-style grid layout
  • Modal - Dialog and popup component
  • Pagination - Page navigation controls
  • Popover - Tooltip and popover component
  • Progress - Loading and progress indicators
  • Spinner - Loading spinners
  • Tab - Tabbed navigation interface
  • Toggle - Switch and toggle buttons

All components are located in src/components/ui/ and can be easily imported and customized.

11. Chart Usage

Fleetyu uses ApexCharts and Recharts for data visualization.

ApexCharts Example:

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} 
  />

Recharts Example:

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.

12. Map Integration

React-Leaflet is used for Map Integration in logistics tracking.

Map Component Example:

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.

13. Table Integration

TanStack Table is used for Inventory List and Driver Details, which is very powerful and highly customizable.

TanStack Table Example:

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.

14. FAQ (Frequently Asked Questions)

Make sure you're running the project from its root directory and the public/ folder path is correct. Also ensure all dependencies are installed with npm install. Check that image paths start with / for public folder assets.

Replace your logo in 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.

Yes, remove the Theme Switch Component from src/layout/Header.jsx or src/layout/RightSidebar.jsx. To set a default theme, modify the initial state in src/context/ThemeContext.jsx.

Solution 1: Delete node_modules folder and package-lock.json, then run npm install again.
Solution 2: Clear npm cache with npm cache clean --force
Solution 3: Install the latest LTS version of Node.js (v18+)
Solution 4: Check for syntax errors in your recent code changes

Step 1: Create your page component in src/pages/
Step 2: Add route in src/routes/RoutesPath.jsx
Step 3: Add menu item in src/data/sidebar-data.json with id, label, icon, and link

Use 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.

Open 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.

Yes! With the Regular License, you can use it for a single end product where users are not charged. With the Extended License, you can use it for SaaS applications or products where users are charged. You cannot resell or redistribute the template itself.

Store chart data in component state using 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.

Yes! Fleetyu is fully responsive and works perfectly on all devices - desktop, tablet, and mobile. The sidebar automatically collapses on smaller screens, and all components are optimized for touch interactions.

15. Credits & Sources

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.

16. Support & Changelog

Support:

We provide Dedicated Support for 6 months from the date of purchase.

Contact Information:

Changelog:

v1.0.0
Latest

Date: 13 February, 2026

  • Initial Release
  • Built with React 19 and Tailwind CSS v4
  • Logistics Dashboard with real-time tracking
  • Map Integration with Leaflet
  • Inventory Tables with TanStack Table
  • 50+ UI Components
  • Dark Mode Support
  • RTL Support
  • Fully Responsive Design