Qué es Weblabor Base
Qué recibes al comprarlo, qué hace ya y para qué no está hecho.
Weblabor Base es el punto de partida de un producto en línea. Lo compras una vez y construyes tu producto encima, en lugar de volver a hacer los primeros tres meses de un producto por suscripción. Lee esto primero para saber qué ya está hecho, y que nadie lo haga dos veces.
Qué problema resuelve
Todo producto necesita el mismo comienzo: cuentas, inicio de sesión, un panel de administración, roles, planes y pagos, notificaciones, dos idiomas, un sitio público. Nada de eso es lo que hace distinto a tu producto, y todo tiene que funcionar antes de la parte que sí lo hace.
Weblabor Base trae ese comienzo ya construido, ya probado y ya funcionando en conjunto: una notificación puede llegar al navegador, un plan sabe cobrar, una fecha se muestra en la zona horaria de cada persona. Tus propias pantallas se agregan encima, de la misma manera.
Con qué viene
Todo lo de abajo está desde el primer día. Las partes opcionales empiezan apagadas y se encienden cuando tu producto las necesita; la guía enlazada en cada punto lo explica.
Cuentas e inicio de sesión
- Registro e inicio de sesión por correo, teléfono, nombre de usuario o cualquier combinación de los tres, en un paso o en dos. Ve Configura el inicio de sesión y el registro.
- Un correo o un teléfono se confirma con un código de un solo uso, enviado por correo, por mensaje de texto o por llamada. Ve Verifica el correo y el teléfono.
- Recuperación de contraseña por correo, y cambio de contraseña obligatorio para las cuentas que un administrador creó sin una.
- Una página de cuenta donde cada persona edita su nombre, correo, teléfono, nombre de usuario, idioma y zona horaria, y ve los dispositivos con sesión iniciada, cada uno de los cuales se puede desconectar. Ve Tu área de cuenta.
- Un PIN de seguridad opcional de cuatro dígitos, que se pide antes de las acciones delicadas. Ve El PIN de seguridad y Protege las acciones delicadas.
- Los administradores pueden actuar como otro usuario, para ver lo que ve, y pueden bloquear usuarios. Sólo uno de los dueños del producto puede actuar como otro dueño, y nadie que tenga el rol Administrador puede ser bloqueado.
Panel de administración
- Un panel para administrar usuarios, roles, avisos, el historial de actividad, el registro de correos y mensajes de texto enviados, el rastreo de visitantes y los eventos de pago. Ve El panel de administración y Registros de auditoría y eventos de webhook.
- Roles y permisos: lo que puede hacer cada rol se marca en una sola pantalla, el rol Administrador tiene acceso completo y los dueños del producto reciben algunos extras. Ve Roles y permisos y Sudo y superadministradores.
- Un área de herramientas para los dueños del producto, para cambiar ajustes, publicar actualizaciones y revisar qué está corriendo. Ve La DevZone.
- Una pantalla para leer el registro de errores de la aplicación. Ve Registros y depuración.
Planes y cobros
- Planes, precios, extras incluidos y límites de uso, editados desde el panel de administración y cobrados con tarjeta a través de Stripe. Las personas se suscriben y administran su suscripción desde su cuenta. Ve Enciende los planes y los cobros y Crea un plan y ponle precio.
- Complementos que se venden encima del plan, en la misma suscripción. Ve Vende complementos.
- Cobros únicos para lo que no es ni un plan ni un complemento. Ve Cobra una vez con Stripe Checkout.
- Pruebas gratuitas y códigos de promoción al pagar. Ve Pruebas gratuitas y cupones.
- Precios por país con tipos de cambio diarios, límites de uso por plan y una página para guardar métodos de pago. Ve Monedas, intervalos y tipos de cambio y Límites del plan y uso.
- Un programa de referidos: cada usuario recibe un enlace, y gana una recompensa cuando alguien se registra con él y una parte de lo que esa persona paga. Ve Referidos.
Notificaciones
- Avisos que llegan en la cuenta, por correo y como notificaciones del navegador, según lo que cada persona tenga encendido, con un centro de notificaciones en la cuenta. Ve Envía notificaciones y Entrega de correo y SMS.
- Avisos escritos desde el panel de administración, con un contador de no leídos en la parte de arriba de la pantalla. Ve Avisos.
- Notificaciones del navegador, y un sitio que las personas pueden instalar en su teléfono como una app. Ve Web push y la PWA.
Archivos y soporte
- Una biblioteca de medios donde cada cuenta guarda sus archivos e imágenes en carpetas, y una página que muestra cuánto espacio ocupa la cuenta, con un límite de espacio en disco por plan cuando los planes están encendidos. Ve Archivos, imágenes y almacenamiento y Las páginas de espacio.
- Tickets de soporte: las personas le escriben a tu equipo desde su cuenta, y el equipo responde desde una bandeja compartida con plazos de respuesta. Se explica en la guía «Tickets de soporte», disponible cuando el módulo de tickets está encendido.
- Un chat de soporte en vivo entre una persona y tu equipo, que necesita el tiempo real corriendo. Se explica en la guía «Chat de soporte en vivo», disponible cuando el chat en vivo está encendido, y en Tiempo real con Reverb.
- Un asistente de soporte para tu equipo: una conversación con Claude que lee el código del producto y sus datos sin cambiar nada. Se explica en la guía «Asistente de soporte», disponible cuando el asistente está encendido.
Idiomas, tiempo y lugar
- Dos idiomas, español e inglés, elegidos por el visitante y después por la cuenta, con el texto nuevo de la interfaz traducido con un solo comando. Ve Idiomas y traducciones.
- Cada fecha se muestra en la zona horaria de cada persona. Ve Zonas horarias y fechas.
- El país del visitante se detecta al llegar, y los selectores de país, estado y ciudad vienen llenos. Ve Detecta el país del visitante.
Medición y auditoría
- Rastreo de visitas y eventos, que se revisa en el panel de administración y se envía a la publicidad de Facebook cuando la conectas, más un dashboard de cifras diarias. Ve Métricas del dashboard y rastreo de visitantes.
- Un historial de cada cambio a usuarios, roles, permisos, avisos, categorías, planes y suscripciones. Ve Registro de actividad.
El sitio público
- Una página de inicio, páginas de funciones, este centro de ayuda con sus guías y su lista de cambios, cada uno en cada idioma que publiques, y páginas de privacidad y términos. Todo eso es tuyo para reescribirlo. Ve Hazlo tuyo, Marca e interfaz y Escribe guías y registro de cambios.
Para qué sirve
Un producto con cuentas, un panel de administración y una suscripción mensual o anual. Un producto que vende un plan base y extras opcionales. Una herramienta interna que necesita usuarios reales, roles reales y un historial de cambios. Un producto que tiene que hablar dos idiomas y funcionar en varias zonas horarias desde el primer día. Una aplicación web que la gente va a instalar en su teléfono.
Para qué no está hecho
Un sitio sencillo o un blog: cargarías con un inicio de sesión y unos cobros que nunca usas. Un producto sin cuentas. Un producto que sólo ofrece datos a otros sistemas y no tiene pantallas propias. Un producto ya construido sobre otra tecnología, porque todo aquí da por hecha la tecnología sobre la que está construido, listada abajo.
Para desarrolladores
Weblabor Base es un kit inicial de Laravel: lo clonas y construyes tu producto sobre sus convenciones.
- Qué está dónde. El panel de administración está en
/admin, construido con Laravel Front, cada pantalla una clase de recurso sin controlador ni vista que escribir. Los roles y permisos corren sobre Spatie Permission: al sembrar, cada recurso de administración recibe un permisocreate,retrieve,updateydeletepor cada una de esas acciones que el recurso ofrece, el rol que nombraconfig('app.admin_role')(adminpor omisión) los recibe todos, y los superadministradores se nombran por correo enconfig/app.php. La DevZone está en/admin/dev: editar.envdesde el navegador, correr los comandos de despliegue, enviar un web push de prueba, limpiar la caché de logs y ver el commit que está corriendo. El visor de logs está en/logsy, tal como viene, sólo lleva el middlewarewebsin pedir sesión, así que restríngelo antes de que el sitio sea público. - Cuentas. Los códigos por correo salen por tu mailer; los de teléfono van por SMS con Amazon SNS o por SMS o llamada con Telnyx. La misma verificación está disponible en cualquier formulario con los componentes
<x-email-input>y<x-phone-input>. Un trait hace que cualquier acción de Livewire pida el PIN o la contraseña antes de correr. La página de cuenta es/account. - Cobros. Los planes y límites viven en la base de datos y se cobran con Laravel Cashier sobre Stripe Checkout y el Stripe Billing Portal, desde
/account/plans,/account/billing,/account/add-onsy/account/payment-methods. Los complementos son ítems extra de la misma suscripción de Stripe. El código de referido viaja en la URL y se guarda en una cookie. - Notificaciones. Una clase de notificación, tres canales; el centro de notificaciones es
/account/notifications. El web push usa VAPID, y la PWA trae un service worker, una página sin conexión y un manifiesto listo para PWABuilder. - Idiomas, tiempo y lugar. Las traducciones que faltan se encuentran con
php artisan lang:searchy se escriben conphp artisan lang:synca través del proveedor de IA que conectes (Conecta un proveedor de IA). Las fechas se guardan en UTC. El país sale de la IP y se completa con Weblabor World, que también alimenta los selectores. El historial de actividad corre sobre Spatie Activity Log, y el rastreo se reenvía a la Facebook Conversions API cuando le das un pixel. - El sitio público. El landing es
/, las páginas de funciones/features, el centro de ayuda/es/ayudacon sus guías en/es/ayuda/guiasy el registro de cambios en/es/ayuda/cambios. - Trabajar en él.
composer devlevanta el servidor, el worker de la cola, el tail de logs y Vite en una sola terminal; el trabajo en cola y programado está en Colas y trabajo programado. Un modelo base con fechas que conocen la zona horaria,$guardeden lugar de$fillable, enums respaldados, traits para reutilizar y rutas separadas en grupos públicos,/appy/admin: ve Modelos, casts y piezas de construcción y Rutas, layouts y middleware. Almacenamiento de archivos en el disco local o en Amazon S3, con imágenes por Intervention Image: ve Archivos, imágenes y almacenamiento. Laravel Debugbar con un detector de consultas N+1 en local, Larastan, PHPUnit y Laravel Dusk, y un hookpre-pushque detiene un push cuando una guía de ayuda que envía no tiene traducción: ve Trabajar en el código y Despliega tu proyecto. - No sirve para un backend que sólo es API, porque la interfaz es Livewire y las rutas son páginas, no endpoints, ni para un código en otro framework: esto es Laravel hasta el fondo.
Sobre qué está construido
Las versiones mayores salen de composer.json y package.json; la versión menor que recibes es la que composer install y npm ci resuelvan ese día.
| Capa | Tecnología | Versión |
|---|---|---|
| Lenguaje | PHP | 8.2 o más reciente |
| Framework | Laravel | 12 |
| Interfaz dinámica | Livewire | 4 |
| Componentes de formulario y layout | WireUI | 2 |
| Modales | Wire Elements Modal | 3 |
| Estilos | Tailwind CSS | 4 |
| Comportamiento en el navegador | Alpine.js, incluido con Livewire | 3 |
| Compilación de assets | Vite | 7 |
| Panel de administración | Laravel Front | 3 |
| Utilidades compartidas de Livewire y Blade | Weblabor TALL Utils | 1 |
| Cobros | Laravel Cashier, Stripe PHP | 15, 16 |
| Roles y permisos | Spatie Laravel Permission | 6 |
| Auditoría | Spatie Laravel Activity Log | 4 |
| Web push | Laravel Notification Channels WebPush | 10 |
| PWA | silviolleite/laravelpwa | 2 |
| Traducción con IA | Laravel AI | 0.6 |
| Números de teléfono | Propaganistas Laravel Phone | 6 |
| Verificación telefónica | Telnyx PHP, o Amazon SNS con el AWS SDK | 7 |
| Países, estados y ciudades | Weblabor World y World UI | 1, 2 |
| Slugs y orden manual | Spatie Sluggable, Spatie Eloquent Sortable | 3, 4 |
| Iconos | Blade Icons | 1 |
| Gráficas | Livewire Charts sobre ApexCharts | un fork en dev-master |
| Imágenes | Intervention Image | 3 |
| Archivos | Flysystem AWS S3, AWS SDK para PHP | 3, 3 |
| Visor de logs | rap2hpoutre/laravel-log-viewer | 2 |
| Lightbox de imágenes e iframes | Fancyapps UI | 6 |
| Barra de progreso y scrollbars | NProgress, SimpleBar | 0.2, 6 |
| Bases de datos | MySQL, MariaDB, PostgreSQL, SQLite, SQL Server | las que soporte Laravel 12 |
Dependencias de desarrollo: Laravel Debugbar 3, Query Detector 2, Larastan 3, PHPUnit 11, Laravel Dusk 8, Playwright 1, Laravel Pail 1, Laravel Sail 1 y el paquete de estándares de código de Weblabor. El paquete de cobros, weblabormx/billing-core, no se descarga: vive en packages/billing-core dentro del repositorio y Composer lo enlaza desde ahí.