Ficha Técnica: Cambios Agregados al Dashboard de Ventas
Ficha Técnica: Cambios Agregados al Dashboard de Ventas
Proyecto
Nombre: boilerplateSells
Repositorio: https://github.com/julio101290/boilerplateSells
Descripción: Librería para generar cotizaciones con formato de impresión en PDF para enviar a clientes, basada en CodeIgniter 4 con un sistema MVC para la gestión de ventas.
Descripción General
El dashboard de ventas en el proyecto boilerplateSells proporciona una interfaz central para visualizar y gestionar datos relacionados con las ventas, integrando funcionalidades de generación de cotizaciones, reportes y estadísticas. Los cambios recientes en el dashboard incluyen mejoras en la funcionalidad del controlador (DashboardController.php) y la vista (dashboard.php), optimizando la experiencia del usuario y la eficiencia del sistema.
Cambios en el Dashboard
1. Controlador (DashboardController.php)
Archivo: src/Controllers/DashboardController.php
Cambios implementados:
- Optimización de consultas: Se mejoraron las consultas a la base de datos para reducir el tiempo de carga de los datos en el dashboard, utilizando índices y optimizando joins en las tablas relacionadas con ventas y cotizaciones.
- Filtros dinámicos: Se añadieron filtros para permitir al usuario seleccionar rangos de fechas, tipos de movimiento y estados de cotización directamente desde el dashboard.
- Seguridad mejorada: Implementación de validaciones adicionales para garantizar que solo usuarios con permisos adecuados (permission:back-office) puedan acceder a las funcionalidades del dashboard.
- Integración con dependencias: Uso de las bibliotecas hermwawan/codeigniter4-datatables y phpcfdi/sat-catalogos para mejorar la presentación de datos en tablas dinámicas y cumplir con requisitos fiscales mexicanos (SAT).
Ejemplo de funcionalidad en el controlador:
public function index()
{
$data = [
'sales' => $this->salesModel->getSalesByDateRange($this->request->getGet('start_date'), $this->request->getGet('end_date')),
'quotes' => $this->quoteModel->getRecentQuotes(),
'title' => 'Dashboard de Ventas'
];
return view('julio101290\boilerplateSells\Views\dashboard', $data);
}
2. Vista (dashboard.php)
Archivo: src/Views/dashboard.php
Cambios implementados:
- Interfaz mejorada: Actualización del diseño del dashboard utilizando AdminLTE 3, con un enfoque en la usabilidad y la visualización clara de métricas clave (ventas totales, cotizaciones pendientes, etc.).
- Gráficos dinámicos: Integración de gráficos interactivos usando Chart.js para mostrar tendencias de ventas y estadísticas en tiempo real.
- Tablas responsivas: Implementación de tablas dinámicas con la biblioteca codeigniter4-datatables, permitiendo ordenamiento, búsqueda y paginación de datos de ventas.
- Personalización: Añadido soporte para personalizar el dashboard según las necesidades del usuario, como la selección de widgets para mostrar métricas específicas.
Ejemplo de código en la vista:
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-lg-3 col-6">
<div class="small-box bg-info">
<div class="inner">
<h3><?= $sales['total'] ?></h3>
<p>Ventas Totales</p>
</div>
<div class="icon">
<i class="ion ion-bag"></i>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card">
<div class="card-body">
<canvas id="salesChart"></canvas>
</div>
</div>
</div>
</div>
</div>
</section>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
var ctx = document.getElementById('salesChart').getContext('2d');
var salesChart = new Chart(ctx, {
type: 'line',
data: {
labels: <?= json_encode($sales['labels']) ?>,
datasets: [{
label: 'Ventas Mensuales',
data: <?= json_encode($sales['data']) ?>,
borderColor: '#007bff',
fill: false
}]
}
});
</script>
3. Dependencias y Configuración
Dependencias utilizadas:
- phpcfdi/sat-catalogos: Para cumplir con los requisitos fiscales mexicanos en la generación de cotizaciones.
- hermwawan/codeigniter4-datatables: Para la creación de tablas dinámicas y responsivas.
- julio101290/boilerplatequotes, julio101290/boilerplatecompanies, entre otros: Módulos complementarios para la gestión de cotizaciones, empresas y movimientos.
Comandos de instalación:
composer require phpcfdi/sat-catalogos
composer require hermawan/codeigniter4-datatables
composer require julio101290/boilerplatequotes
composer require julio101290/boilerplatecompanies
php spark boilerplatequotes:installquotes
php spark boilerplatecompanies:installcompaniescrud
4. Características Clave
- Generación de PDFs: Soporte para exportar reportes de ventas y cotizaciones en formato PDF.
- Filtros avanzados: Permite filtrar datos por fechas, clientes o estados de cotización.
- Integración con AdminLTE 3: Diseño moderno y responsivo para una mejor experiencia de usuario.
- Seguridad: Uso de filtros de permisos (RoleFilter, PermissionFilter) para restringir el acceso.
5. Instrucciones de Uso
1. Clonar el repositorio: git clone https://github.com/julio101290/boilerplateSells.git
2. Instalar dependencias con composer install.
3. Ejecutar los comandos php spark para instalar los módulos necesarios.
4. Configurar la base de datos en app/Config/Database.php.
5. Acceder al dashboard a través de la ruta configurada (DashboardController::index).
6. Notas Adicionales
- Compatibilidad: El dashboard es compatible con navegadores modernos y dispositivos móviles gracias al diseño responsivo de AdminLTE 3.
- Contribuciones: Se invita a la comunidad a contribuir al proyecto a través de pull requests en el repositorio de GitHub.
Referencias:
- Repositorio principal: https://github.com/julio101290/boilerplateSells
- Controlador: DashboardController.php
- Vista: dashboard.php


Comentarios
Publicar un comentario