En este post te mostraré un pequeño sistema CRM que hice hace algún tiempo, el mismo usa el lenguaje PHP con base de datos MySQL y se encarga de llevar el registro de clientes, así como de ventas.

Entre las principales características tiene:

  • Gestión de clientes
  • Dashboard por clientes
  • Dashboard general
  • Registro de ventas de clientes

A lo largo de este post te mostraré cómo funciona este software gratuito y open source que he creado, así como la forma de descargarlo e instalarlo.

Nota: este CRM es más que nada un trabajo que realicé según un pedido; por lo que puede que no cumpla con los requisitos de un CRM en general, pero puedes basarte en él y mejorarlo.

Clientes

Gestión de clientes en CRM

Todo sistema de este tipo tiene que tener la gestión de clientes obligatoriamente. En este caso se solicita el nombre completo, departamento (o ciudad) y edad. También se guarda la fecha de registro para saber cuántos clientes se han registrado en los últimos días.

Además de las operaciones básicas como buscar, editar y eliminar, tenemos el dashboard del cliente, que es en donde se muestra cuántas veces ha comprado y varios detalles en cuanto a las ventas.

Dashboard del cliente

Dashboard del cliente con total de ventas general, en último mes y año

Como lo mencioné anteriormente, existe un dashboard o tablero con detalles por cada cliente. En ese tablero se puede ver el total de ventas (de toda la vida), así como las ventas del último mes y año.

En la gráfica circular se muestra además el comparativo de ventas realizadas por período.

Ventas

Registro de venta con monto y fecha seleccionando el cliente

El programa tiene un mecanismo para registrar ventas de clientes. Se registra el cliente obviamente, así como el monto y la fecha de la venta.

En este caso no se cuenta con descripción de la venta o con algún concepto, pues solo se necesita el monto. Estas ventas van relacionadas con el cliente así que los dashboards se generan a partir de estos datos.

Dashboard general

Dashboard tablero de CRM gratuito con PHP y MySQL

Veamos el último módulo de este software CRM gratuito programado con PHP y MySQL. Aquí se concentran todos los datos de manera general. Tenemos:

  • Total de ventas
  • Conteo de clientes
  • Clientes registrados en los últimos 30 días
  • Clientes registrados en el año actual

Además contamos con gráficas que resumen la información. Son:

  • Clientes por departamento
  • Gráfica de clientes por edad
  • Ventas del año actual (por mes)
  • Cantidad de clientes por año, del año actual y anterior

Con esto se muestra lo más importante de las ventas y clientes en este CRM open source. Y para ver cosas por cliente, podemos ir al tablero de ese cliente en específico.

Apartado técnico

El sistema utiliza Bootstrap (framework CSS para el diseño) con MySQL y PHP. El apartado de los iconos se maneja con los iconos de Material Design y para las gráficas utilicé Chart.js.

No tiene ninguna dependencia adicional, todo el software está creado por archivos que invocan a los métodos contenidos dentro de funciones.php.

Por cierto, en el apartado de la base de datos tenemos un esquema simple en donde hemos usado el tipo de dato decimal para guardar el dinero en MySQL:

CREATE TABLE IF NOT EXISTS clientes(
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(255) NOT NULL,
    departamento VARCHAR(255) NOT NULL,
    edad INT NOT NULL,
    fecha_registro VARCHAR(10) NOT NULL
);
CREATE TABLE IF NOT EXISTS ventas_clientes(
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    id_cliente BIGINT UNSIGNED NOT NULL,
    monto DECIMAL(9,2)  NOT NULL,
    fecha VARCHAR(10) NOT NULL,
    FOREIGN KEY (id_cliente) REFERENCES clientes(id) ON UPDATE CASCADE ON DELETE CASCADE
);

Descarga e instalación

Finalmente es momento de enseñarte cómo descargar e instalar este CRM. Procede a su descarga haciendo clic aquí. Una vez que lo tengas instalado sigue los pasos:

Necesitas MySQL y PHP, preferiblemente en sus versiones más recientes. Aquí un tutorial usando XAMPP: https://parzibyte.me/blog/2017/12/11/configurar-instalar-php-7-apache-server-mysql-windows/

Nota: para las operaciones SQL puedes usar la consola o phpmyadmin

  1. Copia todos los archivos a tu carpeta pública, si estás en Windows con XAMPP, es en C:\xampp\htdocs\crm (si no existe, crea la carpeta)
  2. Crea la base de datos en MySQL
  3. Importa el archivo esquema.sql a la base de datos, ya sea copiando y pegando o importando
  4. Configura las credenciales de tu base de datos en el archivo funciones.php dentro de la función obtenerBD
  5. Configura en ese mismo archivo la zona horaria, por defecto está para México
  6. Visita tu proyecto en http://localhost/crm

Nota 2: si cambiaste el nombre de tu proyecto o tu sistema operativo es distinto, los pasos podrían cambiar

Finalmente te dejo con más programas en PHP y MySQL, y también puedes ver más software gratuito que he creado.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.