Skip to content

phpeitor/vue-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

258 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laravel v12.x Vue v3.x Inertia v2.x Tailwind v4.x Typescript  v5.x PHP 8.3

🛠️ Instalación

1️⃣ Clonar el repositorio

git clone https://github.com/phpeitor/vue-laravel.git
cd vue-laravel

2️⃣ Instalar dependencias PHP

composer install

3️⃣ Instalar dependencias Frontend

npm install

4️⃣ Configurar entorno

cp .env.example .env
php artisan key:generate

5️⃣ Migrar base de datos

php artisan migrate --seed

🚀 Puesta en Marcha

Backend

php artisan serve

Frontend (Vite)

npm run dev

WebSockets (Laravel Reverb)

php artisan reverb:start --debug

Workers de cola

php artisan queue:work

📂 Estructura del Proyecto

├── app
├── database
├── routes
├── resources
│   ├── js
│   │   ├── Pages
│   │   ├── Components
│   │   └── Layouts
├── public
└── storage

Video
Ver demo

Note

Si este proyecto te sirve... ¡Dale una estrella ⭐ y compártelo con tu equipo!

API interna y cuándo usarla

Endpoints en routes/api.php

  • GET /api/user

    • Devuelve el usuario autenticado del request.
    • Protegido con auth:sanctum.
    • Uso recomendado: clientes API externos (SPA separada, app móvil, Postman con token/cookies Sanctum).
  • POST /api/external-event

    • Webhook de entrada de omnichannel para eventos externos (mensajes incoming/received).
    • Lo consume un sistema externo, no la UI Inertia directamente.
  • GET /api/threads/{id}

    • Devuelve detalle de un thread vía ThreadController.
    • Útil para integraciones o diagnóstico API.
  • POST /api/chat/threads/{threadId}/reply

    • Envía respuesta de chat al omnichannel.
    • Consumido por la pantalla de chat.
  • GET /api/hsm/{providerMessageId}/status

    • Consulta estado HSM vía proxy backend.
    • Consumido por la pantalla de campañas.

Qué usar dentro de este proyecto (Inertia)

  • Para datos del usuario logueado en frontend Inertia, usar props compartidas:

    • usePage().props.auth.user
    • Ejemplos en componentes como AppHeader y NavUser.
  • Para filtros o datos internos de pantallas web (ejemplo Reportes), preferir rutas web con middleware auth y permisos, en lugar de crear endpoints API con auth:sanctum sin necesidad.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors