¿A quién no se le ha olvidado alguna vez pasar la ITV? ¿Con cuantos kilómetros cambiastes el aceite del coche? ¿Esas ruedas de cuándo son?

No sé tú, pero yo soy de esos que no he conseguido contestar las preguntas de arriba, y por eso decidí montar un sistema para gestionar mis vehículos y que me lleguen notificaciones para que no se pasen los mantenimientos básicos.

Y puestos a montarlo, mejor hacerlo como Saas, que es lo que vamos a ver aquí.

Modelo de datos

Vamos a ver las distintas entidades que vamos a necesitar:

  • Vehículo (car): Representa a cada uno de nuestros coches.
  • Componentes (component): Serán distintos elementos de nuestros coches, como pueden ser: ITV, neumáticos, cambio de aceite…
  • Notificaciones (notification): Serán los distintos tipos de notificaciones que podemos crear, y asociar a los componentes.

Custom post type y atributos

En este modelo sencillo, vemos claramente que nos encontramos con 3 custom post type: car, component y notification.

Los distintos atributos los podemos crear con el plugin Advanced Custom Field, y asociarlos a los cpt.

Las relaciones entre clases las implementaremos con ACF con el tipo de campo “Object type”, pudiendo elegir selección sencilla o múltiple según su multiplicidad.

Implementando el Saas

El plugin Saas-generator nos permite fácilmente generar las distintas secciones de nuestro Saas donde los usuarios podrán desde cada una de ella listarlos, editarlos, crearlos o eliminarlos.

Bastará simplemente con crear cada página y usar el shortcode: [saas cpt=”car”/] para los coches, y cambiaremos el parámetro “cpt” por el correspondiente en cada sección/página.

Y ya tenemos nuestras secciones disponibles, donde cada usuario podrá gestionar él y sólo él sus correspondientes elementos.

Ya sólo faltaría crear tu propio menú donde poner las secciones, una plantilla molona y listo !!