Documentation

Templates & Applications

Templates & Applications

UltraViolet Pro includes a comprehensive set of pre-built application templates for common use cases. These templates provide complete, functional interfaces that can be customized for your specific needs.

📚 New Documentation: For detailed information about each application, see the Applications & Templates section.

Overview

The templates section includes fully functional applications with:

  • Complete UI/UX design
  • Interactive features
  • Responsive layouts
  • Integration examples
  • Best practices implementation

Email Application

A full-featured email client interface with inbox, compose, and email viewing.

Route: /admin/apps/email

Email Inbox

<div class="row">
    <!-- Email Sidebar -->
    <div class="col-md-3">
        <div class="card">
            <div class="card-body">
                <button class="btn btn-primary w-100 mb-3">
                    <i class="material-symbols-rounded me-2">edit</i>
                    Compose
                </button>

                <ul class="nav flex-column">
                    <li class="nav-item">
                        <a class="nav-link active" href="#">
                            <i class="material-symbols-rounded me-2">inbox</i>
                            Inbox <span class="badge bg-primary ms-auto">24</span>
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">
                            <i class="material-symbols-rounded me-2">send</i>
                            Sent
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">
                            <i class="material-symbols-rounded me-2">drafts</i>
                            Drafts <span class="badge bg-secondary ms-auto">5</span>
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">
                            <i class="material-symbols-rounded me-2">star</i>
                            Starred
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">
                            <i class="material-symbols-rounded me-2">delete</i>
                            Trash
                        </a>
                    </li>
                </ul>
            </div>
        </div>
    </div>

    <!-- Email List -->
    <div class="col-md-9">
        <div class="card">
            <div class="card-header">
                <div class="d-flex justify-content-between align-items-center">
                    <h5 class="mb-0">Inbox</h5>
                    <div class="d-flex gap-2">
                        <input type="search" class="form-control" placeholder="Search emails...">
                        <button class="btn btn-outline-secondary">
                            <i class="material-symbols-rounded">refresh</i>
                        </button>
                    </div>
                </div>
            </div>
            <div class="list-group list-group-flush">
                <!-- Email items -->
            </div>
        </div>
    </div>
</div>

Features

  • Inbox management
  • Email composition with rich text editor
  • Attachments support
  • Folder organization
  • Search and filters
  • Star/flag emails

Chat Application

Real-time chat interface with contact list and message history.

Route: /admin/apps/chat

Chat Interface

<div class="row g-0">
    <!-- Contacts Sidebar -->
    <div class="col-md-4 border-end">
        <div class="chat-sidebar">
            <div class="p-3 border-bottom">
                <input type="search" class="form-control" placeholder="Search contacts...">
            </div>
            <div class="list-group list-group-flush">
                <a href="#" class="list-group-item list-group-item-action active">
                    <div class="d-flex align-items-center">
                        <img src="./images/avatar1.jpg" class="rounded-circle me-3" width="40" height="40">
                        <div class="flex-grow-1">
                            <div class="d-flex justify-content-between">
                                <h6 class="mb-0">John Doe</h6>
                                <small class="text-muted">2m ago</small>
                            </div>
                            <small class="text-muted">Hey, how are you?</small>
                        </div>
                        <span class="badge bg-primary rounded-pill">3</span>
                    </div>
                </a>
                <!-- More contacts -->
            </div>
        </div>
    </div>

    <!-- Chat Area -->
    <div class="col-md-8">
        <div class="chat-area">
            <div class="chat-header p-3 border-bottom">
                <div class="d-flex justify-content-between align-items-center">
                    <div class="d-flex align-items-center">
                        <img src="./images/avatar1.jpg" class="rounded-circle me-3" width="40" height="40">
                        <div>
                            <h6 class="mb-0">John Doe</h6>
                            <small class="text-success">Online</small>
                        </div>
                    </div>
                    <div class="d-flex gap-2">
                        <button class="btn btn-sm btn-outline-secondary">
                            <i class="material-symbols-rounded">call</i>
                        </button>
                        <button class="btn btn-sm btn-outline-secondary">
                            <i class="material-symbols-rounded">videocam</i>
                        </button>
                        <button class="btn btn-sm btn-outline-secondary">
                            <i class="material-symbols-rounded">more_vert</i>
                        </button>
                    </div>
                </div>
            </div>

            <div class="chat-messages p-3" style="height: 500px; overflow-y: auto;">
                <!-- Messages -->
            </div>

            <div class="chat-input p-3 border-top">
                <div class="input-group">
                    <button class="btn btn-outline-secondary">
                        <i class="material-symbols-rounded">attach_file</i>
                    </button>
                    <input type="text" class="form-control" placeholder="Type a message...">
                    <button class="btn btn-primary">
                        <i class="material-symbols-rounded">send</i>
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>

Features

  • Real-time messaging with Livewire
  • Contact management
  • Online/offline status
  • File attachments
  • Emoji support
  • Message search
  • Group chats

Calendar Application

Event management with FullCalendar integration.

Route: /admin/apps/calendar

Calendar View

<div class="card">
    <div class="card-header">
        <div class="d-flex justify-content-between align-items-center">
            <h5 class="mb-0">Calendar</h5>
            <button class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#newEventModal">
                <i class="material-symbols-rounded me-2">add</i>
                New Event
            </button>
        </div>
    </div>
    <div class="card-body">
        <div id="calendar"></div>
    </div>
</div>

<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.13/index.global.min.js'></script>
<script>
document.addEventListener('DOMContentLoaded', function() {
    var calendarEl = document.getElementById('calendar');
    var calendar = new FullCalendar.Calendar(calendarEl, {
        initialView: 'dayGridMonth',
        headerToolbar: {
            left: 'prev,next today',
            center: 'title',
            right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
        },
        editable: true,
        selectable: true,
        events: [
            {
                title: 'Team Meeting',
                start: '2025-10-16T10:00:00',
                end: '2025-10-16T11:00:00',
                backgroundColor: '#6366f1'
            }
        ],
        eventClick: function(info) {
            // Show event details modal
        }
    });
    calendar.render();
});
</script>

Features

  • Multiple calendar views (month, week, day, list)
  • Drag and drop events
  • Event creation and editing
  • Recurring events
  • Event categories and colors
  • Google Calendar integration ready

Taskboard

Kanban-style task management with drag-and-drop.

Route: /admin/apps/taskboard

Kanban Board

<div class="row g-3">
    <div class="col-md-3">
        <div class="card">
            <div class="card-header bg-secondary text-white">
                <h6 class="mb-0">To Do</h6>
                <span class="badge bg-white text-secondary">5</span>
            </div>
            <div class="card-body sortable-list" id="todo-list">
                <div class="task-card mb-2">
                    <h6>Update documentation</h6>
                    <p class="text-muted small">Due: Oct 18, 2025</p>
                    <div class="d-flex justify-content-between">
                        <span class="badge bg-primary">Documentation</span>
                        <img src="./images/avatar1.jpg" class="rounded-circle" width="24" height="24">
                    </div>
                </div>
                <!-- More tasks -->
            </div>
        </div>
    </div>

    <div class="col-md-3">
        <div class="card">
            <div class="card-header bg-warning text-white">
                <h6 class="mb-0">In Progress</h6>
                <span class="badge bg-white text-warning">3</span>
            </div>
            <div class="card-body sortable-list" id="inprogress-list">
                <!-- Tasks -->
            </div>
        </div>
    </div>

    <div class="col-md-3">
        <div class="card">
            <div class="card-header bg-info text-white">
                <h6 class="mb-0">Review</h6>
                <span class="badge bg-white text-info">2</span>
            </div>
            <div class="card-body sortable-list" id="review-list">
                <!-- Tasks -->
            </div>
        </div>
    </div>

    <div class="col-md-3">
        <div class="card">
            <div class="card-header bg-success text-white">
                <h6 class="mb-0">Done</h6>
                <span class="badge bg-white text-success">8</span>
            </div>
            <div class="card-body sortable-list" id="done-list">
                <!-- Tasks -->
            </div>
        </div>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js"></script>
<script>
// Initialize sortable lists
['todo-list', 'inprogress-list', 'review-list', 'done-list'].forEach(listId => {
    new Sortable(document.getElementById(listId), {
        group: 'tasks',
        animation: 150,
        ghostClass: 'sortable-ghost'
    });
});
</script>

Features

  • Drag and drop tasks
  • Multiple task lists
  • Task assignments
  • Due dates and priorities
  • Labels and categories
  • Progress tracking

Invoice Application

Invoice generation and management system.

Route: /admin/apps/invoice

Invoice Template

<div class="card">
    <div class="card-body">
        <div class="invoice-header mb-4">
            <div class="row">
                <div class="col-md-6">
                    <img src="./images/logo.png" width="150" alt="Logo">
                    <div class="mt-3">
                        <h2>INVOICE</h2>
                        <p class="mb-0">Invoice #INV-2025-001</p>
                        <p class="text-muted">Date: October 16, 2025</p>
                    </div>
                </div>
                <div class="col-md-6 text-end">
                    <h6>From:</h6>
                    <p>
                        Your Company Name<br>
                        123 Business St<br>
                        City, State 12345<br>
                        contact@yourcompany.com
                    </p>
                </div>
            </div>
        </div>

        <div class="invoice-to mb-4">
            <div class="row">
                <div class="col-md-6">
                    <h6>Bill To:</h6>
                    <p>
                        Client Name<br>
                        456 Client Ave<br>
                        City, State 67890<br>
                        client@email.com
                    </p>
                </div>
                <div class="col-md-6 text-end">
                    <h6>Payment Details:</h6>
                    <p>
                        Payment Method: Bank Transfer<br>
                        Due Date: October 31, 2025<br>
                        Status: <span class="badge bg-warning">Pending</span>
                    </p>
                </div>
            </div>
        </div>

        <div class="invoice-items mb-4">
            <table class="table">
                <thead class="table-light">
                    <tr>
                        <th>Item</th>
                        <th>Description</th>
                        <th class="text-end">Qty</th>
                        <th class="text-end">Rate</th>
                        <th class="text-end">Amount</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Web Design</td>
                        <td>Homepage redesign</td>
                        <td class="text-end">1</td>
                        <td class="text-end">$2,500.00</td>
                        <td class="text-end">$2,500.00</td>
                    </tr>
                    <tr>
                        <td>Development</td>
                        <td>Custom features implementation</td>
                        <td class="text-end">40</td>
                        <td class="text-end">$75.00</td>
                        <td class="text-end">$3,000.00</td>
                    </tr>
                </tbody>
                <tfoot>
                    <tr>
                        <td colspan="4" class="text-end"><strong>Subtotal:</strong></td>
                        <td class="text-end">$5,500.00</td>
                    </tr>
                    <tr>
                        <td colspan="4" class="text-end"><strong>Tax (10%):</strong></td>
                        <td class="text-end">$550.00</td>
                    </tr>
                    <tr class="table-active">
                        <td colspan="4" class="text-end"><strong>Total:</strong></td>
                        <td class="text-end"><strong>$6,050.00</strong></td>
                    </tr>
                </tfoot>
            </table>
        </div>

        <div class="invoice-footer">
            <div class="row">
                <div class="col-md-6">
                    <h6>Notes:</h6>
                    <p class="text-muted">Payment is due within 15 days. Please make checks payable to Your Company Name.</p>
                </div>
                <div class="col-md-6 text-end">
                    <button class="btn btn-primary me-2">
                        <i class="material-symbols-rounded me-2">print</i>
                        Print
                    </button>
                    <button class="btn btn-success">
                        <i class="material-symbols-rounded me-2">download</i>
                        Download PDF
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>

Features

  • Professional invoice templates
  • PDF generation
  • Automatic calculations
  • Multiple currency support
  • Payment tracking
  • Invoice history

Maps Application

Interactive maps with markers and location features.

Route: /admin/apps/maps

Map Interface

<div class="card">
    <div class="card-header">
        <h5 class="card-title mb-0">Interactive Map</h5>
    </div>
    <div class="card-body">
        <div id="map" style="height: 600px;"></div>
    </div>
</div>

<script>
// Google Maps integration example
function initMap() {
    const map = new google.maps.Map(document.getElementById('map'), {
        center: { lat: -34.397, lng: 150.644 },
        zoom: 8
    });

    // Add markers
    const marker = new google.maps.Marker({
        position: { lat: -34.397, lng: 150.644 },
        map: map,
        title: 'Location Name'
    });
}
</script>

Features

  • Interactive Google Maps integration
  • Custom markers and popups
  • Geolocation services
  • Route planning
  • Location search
  • Layer controls

Text Editor

Rich text editing with formatting options.

Route: /admin/apps/editor

Editor Interface

<div class="card">
    <div class="card-header">
        <h5 class="card-title mb-0">Rich Text Editor</h5>
    </div>
    <div class="card-body">
        <div class="editor-toolbar mb-2">
            <div class="btn-group btn-group-sm me-2">
                <button class="btn btn-outline-secondary" data-command="bold">
                    <i class="material-symbols-rounded">format_bold</i>
                </button>
                <button class="btn btn-outline-secondary" data-command="italic">
                    <i class="material-symbols-rounded">format_italic</i>
                </button>
                <button class="btn btn-outline-secondary" data-command="underline">
                    <i class="material-symbols-rounded">format_underlined</i>
                </button>
            </div>
            <div class="btn-group btn-group-sm me-2">
                <button class="btn btn-outline-secondary" data-command="justifyLeft">
                    <i class="material-symbols-rounded">format_align_left</i>
                </button>
                <button class="btn btn-outline-secondary" data-command="justifyCenter">
                    <i class="material-symbols-rounded">format_align_center</i>
                </button>
                <button class="btn btn-outline-secondary" data-command="justifyRight">
                    <i class="material-symbols-rounded">format_align_right</i>
                </button>
            </div>
        </div>

        <div class="editor-content border rounded p-3" contenteditable="true" style="min-height: 400px;">
            <p>Start typing here...</p>
        </div>
    </div>
</div>

Features

  • Rich text formatting
  • Image insertion
  • Link management
  • Tables
  • Code blocks
  • Save and export options

AI Agent

AI-powered chat interface for intelligent assistance.

Route: /admin/apps/ai-agent

AI Chat Interface

<div class="card">
    <div class="card-header">
        <h5 class="card-title mb-0">
            <i class="material-symbols-rounded me-2">psychology</i>
            AI Assistant
        </h5>
    </div>
    <div class="card-body">
        <div class="ai-chat-container" style="height: 500px; overflow-y: auto;">
            <div class="message ai-message mb-3">
                <div class="d-flex">
                    <div class="avatar me-3">
                        <div class="rounded-circle bg-primary d-flex align-items-center justify-content-center" 
                             style="width: 40px; height: 40px;">
                            <i class="material-symbols-rounded text-white">smart_toy</i>
                        </div>
                    </div>
                    <div class="message-content">
                        <p class="mb-0">Hello! I'm your AI assistant. How can I help you today?</p>
                        <small class="text-muted">Just now</small>
                    </div>
                </div>
            </div>

            <div class="message user-message mb-3">
                <div class="d-flex flex-row-reverse">
                    <div class="avatar ms-3">
                        <img src="./images/avatar.jpg" class="rounded-circle" width="40" height="40">
                    </div>
                    <div class="message-content text-end">
                        <p class="mb-0">Help me write a professional email</p>
                        <small class="text-muted">Just now</small>
                    </div>
                </div>
            </div>
        </div>

        <div class="ai-input mt-3">
            <div class="input-group">
                <input type="text" class="form-control" placeholder="Type your message...">
                <button class="btn btn-primary">
                    <i class="material-symbols-rounded">send</i>
                </button>
            </div>
        </div>
    </div>
</div>

Features

  • AI-powered responses
  • Conversation history
  • Context awareness
  • Code assistance
  • Natural language processing
  • Multiple AI models support

Micro Blog

Simple blogging platform with posts and comments.

Route: /admin/apps/micro-blog

Blog Interface

<div class="row">
    <div class="col-md-8">
        <!-- Blog Posts -->
        <div class="card mb-3">
            <div class="card-body">
                <div class="d-flex align-items-center mb-3">
                    <img src="./images/avatar1.jpg" class="rounded-circle me-3" width="48" height="48">
                    <div>
                        <h6 class="mb-0">John Doe</h6>
                        <small class="text-muted">2 hours ago</small>
                    </div>
                </div>
                <h5 class="card-title">Getting started with UltraViolet</h5>
                <p class="card-text">Just installed UltraViolet and loving the design! The documentation is excellent and setup was a breeze.</p>
                <div class="d-flex gap-3 text-muted">
                    <button class="btn btn-sm btn-outline-secondary">
                        <i class="material-symbols-rounded me-1">thumb_up</i> 24
                    </button>
                    <button class="btn btn-sm btn-outline-secondary">
                        <i class="material-symbols-rounded me-1">comment</i> 5
                    </button>
                    <button class="btn btn-sm btn-outline-secondary">
                        <i class="material-symbols-rounded me-1">share</i>
                    </button>
                </div>
            </div>
        </div>
        <!-- More posts -->
    </div>

    <div class="col-md-4">
        <!-- Sidebar -->
        <div class="card mb-3">
            <div class="card-body">
                <h6>Create Post</h6>
                <textarea class="form-control mb-2" rows="3" placeholder="What's on your mind?"></textarea>
                <button class="btn btn-primary w-100">Post</button>
            </div>
        </div>
    </div>
</div>

Features

  • Post creation and editing
  • Comments system
  • Likes and reactions
  • Hashtags support
  • User mentions
  • Media attachments

Best Practices

  1. Customization: Adapt templates to your specific needs
  2. Performance: Optimize for your data volume
  3. Security: Implement proper authentication and authorization
  4. UX: Maintain consistent user experience
  5. Mobile: Ensure templates work on all devices
  6. Accessibility: Follow WCAG guidelines

Production Usage

All templates are included in both editions with mock data for demonstration. For production use, integrate with your backend APIs and databases.