Un portal web de gestión de citas y programa de lealtad para un salón de belleza unisex, construido con el stack TALL y Laravel Nova.
Diamond es una plataforma digital diseñada para modernizar la experiencia del cliente y la gestión interna de un salón de belleza. Permite a los clientes agendar citas en línea, mientras que ofrece a los administradores y estilistas herramientas potentes para gestionar horarios, servicios y la relación con los clientes.
El núcleo de la experiencia del cliente es un programa de lealtad integrado, que recompensa la asistencia con "sellos" digitales acumulables en una tarjeta personal, canjeables por premios y descuentos exclusivos.
- Gestión de Citas: Los clientes pueden agendar, ver y cancelar sus citas en línea.
- Autenticación Social: Registro e inicio de sesión simplificado con Google y Facebook a través de Laravel Socialite.
- Paneles de Control por Rol:
- Panel de Administrador (Laravel Nova): Control total sobre estilistas, servicios, horarios, citas y clientes.
- Panel de Estilista: Vista de agenda personal para gestionar sus citas asignadas.
- Dashboard de Cliente: Acceso a historial de citas, perfil y programa de lealtad.
- Programa de Lealtad Digital: Tarjeta de sellos virtual que se actualiza con cada asistencia confirmada.
- Sistema de Recompensas: Los clientes pueden canjear sus sellos por premios como cupones de descuento.
- Notificaciones por Correo: Confirmaciones, recordatorios y notificaciones de recompensas para mantener al cliente informado.
- Backend: Laravel 12
- Frontend: Livewire 3, Alpine.js 3, Tailwind CSS 4
- Panel de Administración: Laravel Nova 5
- Autenticación Social: Laravel Socialite
- Animaciones: GSAP (GreenSock Animation Platform)
- Base de Datos: MySQL / PostgreSQL
- Servidor de Desarrollo: Vite
Para ejecutar este proyecto en tu entorno local, sigue estos pasos.
- PHP >= 8.2
- Composer
- Node.js >= 20
- Una base de datos (ej. MySQL, PostgreSQL)
-
Clona el repositorio:
git clone [https://github.com/tu-usuario/diamond-salon.git](https://github.com/tu-usuario/diamond-salon.git) cd diamond-salon -
Instala las dependencias de PHP:
composer install
-
Configura tu entorno:
- Copia el archivo de ejemplo
.env.examplea.env. - Genera la clave de la aplicación.
cp .env.example .env php artisan key:generate
- Configura las credenciales de tu base de datos en el archivo
.env.
- Copia el archivo de ejemplo
-
Ejecuta las migraciones y seeders:
php artisan migrate --seed
-
Instala las dependencias de Frontend:
npm install
-
Configura Laravel Nova:
- Asegúrate de configurar tu licencia de Nova en
auth.json. - Sigue la documentación oficial de Nova para la instalación.
- Asegúrate de configurar tu licencia de Nova en
-
Configura Laravel Socialite:
- Añade tus credenciales de cliente para Google y Facebook en el archivo
.env.
GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GOOGLE_REDIRECT_URI=http://localhost:8000/auth/google/callback FACEBOOK_CLIENT_ID= FACEBOOK_CLIENT_SECRET= FACEBOOK_REDIRECT_URI=http://localhost:8000/auth/facebook/callback
- Añade tus credenciales de cliente para Google y Facebook en el archivo
-
Inicia los servidores:
- En una terminal, inicia el servidor de desarrollo de Vite:
npm run dev
- En otra terminal, inicia el servidor de Laravel:
php artisan serve
¡Y listo! La aplicación estará disponible en http://localhost:8000 y el panel de Nova en http://localhost:8000/nova.