Este proyecto es un CRUD desarrollado con Inertia.js, Vue.js y Laravel. Permite gestionar tres tablas: genres, books e images, explorando conceptos avanzados como enrutamiento, relaciones, vistas dinámicas, validaciones y manejo eficiente de datos.
- Cada género tiene su propia vista detallada.
- Relación uno a muchos con la tabla books.
- Paginación y carga eficiente de datos.
- Gestión mediante modales para crear, editar y eliminar libros.
- Relación con la tabla genres.
- Validaciones en el frontend y backend.
- Galería de imágenes con opción para subir hasta 10 imágenes simultáneamente.
- Vista principal (index) con una galería visual de las imágenes.
- Carga asincrónica y manejo de archivos con buen rendimiento.
- Paginación: Implementada en todas las tablas para un rendimiento óptimo.
- Relaciones: Consultas optimizadas para cargar datos relacionados.
- Cargas asincrónicas: Mejora la experiencia de usuario al reducir tiempos de espera.
- PHP 8.2 o superior.
- Composer.
- Node.js y npm.
- Base de datos MySQL o compatible.
-
Clonar el repositorio
git clone /~https://github.com/StevenU21/vue-inertia-crud.git cd vue-inertia-crud
-
Instalar dependencias PHP
composer install
-
Instalar dependencias Node.js
npm install
-
Configurar el archivo
.env
- Copia el archivo de ejemplo:
cp .env.example .env
- Configura la conexión a la base de datos.
- Copia el archivo de ejemplo:
-
Generar la clave de la aplicación
php artisan key:generate
-
Migrar las tablas a la base de datos
php artisan migrate
-
Compilar los assets
npm run dev
-
Iniciar el servidor
php artisan serve
Accede a la aplicación en
http://localhost:8000
.
- Genres: Cada registro se visualiza en vistas individuales.
- Books: Modales para operaciones CRUD.
- Images: Galería con opción de carga múltiple.
¡Las contribuciones son bienvenidas! Si encuentras algún problema o tienes sugerencias, por favor abre un issue o crea un pull request.
Desarrollado por Steven Ulloa. Puedes encontrar más de mi trabajo en mi perfil de GitHub.