Skip to content

Sistema de gestión de vehículos desarrollado con Laravel y Filament para administrar clientes y sus vehículos de manera eficiente. Presenta un CRUD básico pero solido.

Notifications You must be signed in to change notification settings

OscarTired/VIP2CARS_System

Repository files navigation

VIP2CARS - Sistema de Gestión de Vehículos

Sistema de gestión de vehículos desarrollado con Laravel 12 y Filament 4 para administrar clientes y sus vehículos de manera eficiente.

🎯 Inicio Rápido

# 1. Clonar e instalar
git clone <url-del-repositorio>
cd PHP-CAR
composer install
cp .env.example .env

# 2. Configurar MySQL en .env
# DB_DATABASE=vip2cars
# DB_USERNAME=root
# DB_PASSWORD=tu_contraseña
# APP_TIMEZONE=America/Lima

# 3. Crear base de datos y ejecutar
mysql -u root -p -e "CREATE DATABASE vip2cars CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
php artisan key:generate
php artisan migrate --seed
php artisan serve

Acceso: http://127.0.0.1:8000/admin/login (admin@vip2cars.com / 123456)

🔧 Requisitos del Entorno

Important

Asegúrate de cumplir con todos los requisitos antes de proceder con la instalación.

Requisitos Mínimos

  • PHP: ^8.2
  • Composer: Última versión estable
  • MySQL: 5.7+ o MariaDB 10.3+
  • phpMyAdmin: Para administración de base de datos (recomendado)

Extensiones PHP Requeridas

Note

La mayoría de extensiones vienen habilitadas por defecto con PHP 8.2+. Solo necesitas instalar las marcadas como "(Instalar si es necesario)".

Extensiones incluidas por defecto en PHP 8.2+: Ver lista completa

Extensiones que requeridas por Laravel como mínimo: Requisitos Laravel

Dependencias Principales

  • Laravel Framework: ^12.0
  • Filament: ^4.0 (Panel de administración)
  • Laravel Tinker: ^2.10 (REPL para desarrollo)

🚀 Instalación Rápida

1. Clonar e Instalar

git clone <url-del-repositorio>
cd PHP-CAR
composer install
cp .env.example .env

2. Configurar Base de Datos

Crea la base de datos vip2cars en MySQL:

CREATE DATABASE vip2cars CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. Configurar Variables de Entorno

Edita el archivo .env con tus datos de MySQL:

DB_DATABASE=vip2cars
DB_USERNAME=root
DB_PASSWORD=tu_contraseña

4. Inicializar y Ejecutar

# Generar clave de aplicación
php artisan key:generate

# Crear tablas y datos de prueba
php artisan migrate --seed

# Iniciar servidor
php artisan serve

Tip

¡Listo! Accede a http://127.0.0.1:8000/admin/login

Usuario: admin@vip2cars.com
Contraseña: 123456

🗄️ Estructura de la Base de Datos

Tabla: users

CREATE TABLE users (
    id BIGINT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL,
    email_verified_at TIMESTAMP NULL,
    password VARCHAR(255) NOT NULL,
    remember_token VARCHAR(100) NULL,
    created_at TIMESTAMP NULL,
    updated_at TIMESTAMP NULL
);

Tabla: customers

CREATE TABLE customers (
    id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    first_name VARCHAR(255) NOT NULL,           -- Nombre del cliente
    last_name VARCHAR(255) NOT NULL,            -- Apellidos del cliente
    document_number VARCHAR(255) UNIQUE NOT NULL, -- Nro. de documento del cliente
    email VARCHAR(255) UNIQUE NOT NULL,         -- Correo del cliente
    phone VARCHAR(255) NOT NULL,                -- Teléfono del cliente
    created_at TIMESTAMP NULL,
    updated_at TIMESTAMP NULL
);

Tabla: vehicles

CREATE TABLE vehicles (
    id BIGINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    license_plate VARCHAR(255) UNIQUE NOT NULL, -- Placa
    brand VARCHAR(255) NOT NULL,                -- Marca
    model VARCHAR(255) NOT NULL,                -- Modelo
    manufacturing_year YEAR NOT NULL,           -- Año de fabricación
    customer_id BIGINT UNSIGNED NOT NULL,       -- Relación con cliente
    created_at TIMESTAMP NULL,
    updated_at TIMESTAMP NULL,
    FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE
);

Relaciones

  • customersvehicles: Un cliente puede tener múltiples vehículos (1:N)
  • Al eliminar un cliente, se eliminan automáticamente sus vehículos (CASCADE)

Warning

La eliminación de un cliente es irreversible y eliminará todos sus vehículos asociados.

🔑 Usuario Demo

Important

Después de ejecutar php artisan db:seed, se creará automáticamente un usuario administrador.

Credenciales de Acceso

  • Email: admin@vip2cars.com
  • Contraseña: 123456
  • Nombre: Administrador VIP2CARS

Datos de Prueba Incluidos

Clientes de ejemplo:

  • Juan Carlos Pérez García (DNI: 12345678)
  • María Elena Rodríguez López (DNI: 87654321)
  • Carlos Alberto Mendoza Silva (DNI: 11223344)
  • Ana Sofía Torres Vega (DNI: 44332211)
  • Roberto Jiménez Castro (DNI: 55667788)

Vehículos de ejemplo:

  • Toyota Corolla 2020 (Placa: ABC-123)
  • Honda Civic 2019 (Placa: DEF-456)
  • Nissan Sentra 2021 (Placa: GHI-789)
  • Hyundai Elantra 2018 (Placa: JKL-012)
  • Kia Rio 2022 (Placa: MNO-345)
  • Chevrolet Spark 2020 (Placa: PQR-678)
  • Ford Fiesta 2019 (Placa: STU-901)

📋 Funcionalidades Principales

Gestión de Clientes

  • CRUD Completo: Crear, leer, actualizar y eliminar clientes
  • Validaciones: Campos únicos (documento, email) y requeridos
  • Búsqueda: Por nombre completo, documento y email
  • Filtros: Clientes con/sin vehículos
  • Ordenamiento: Por cualquier columna
  • Paginación: 5, 10, 25, 50 registros por página
  • Columnas Toggleables: Mostrar/ocultar columnas según preferencia
  • Conteo de Vehículos: Muestra cantidad de vehículos por cliente

Gestión de Vehículos

  • CRUD Completo: Crear, leer, actualizar y eliminar vehículos
  • Relación con Clientes: Cada vehículo pertenece a un cliente
  • Búsqueda: Por placa, marca, modelo y datos del cliente
  • Filtros Avanzados: Por marca, año reciente (2020+) y cliente
  • Descripción Completa: Muestra "Marca Modelo (Año)"
  • Validaciones: Placa única y campos requeridos
  • Columnas Toggleables: Personalizar vista de tabla

Panel de Administración

  • Interface Moderna: Desarrollado con Filament 4.0
  • Autenticación: Sistema de login seguro
  • Responsive: Adaptable a diferentes dispositivos
  • Persistencia: Guarda filtros, búsquedas y ordenamiento
  • Acciones en Lote: Eliminación múltiple de registros
  • Navegación Intuitiva: Menús organizados y fáciles de usar

🛠️ Comandos Útiles

# Crear un nuevo usuario administrador
php artisan make:filament-user

# Recargar base de datos con datos de prueba
php artisan migrate:fresh --seed

# Limpiar cache si hay problemas
php artisan optimize:clear

🚀 Despliegue en Producción

Warning

Para producción, configura estas variables en .env:

APP_ENV=production
APP_DEBUG=false
APP_URL=https://tu-dominio.com

# Base de datos de producción
DB_HOST=tu-servidor-mysql
DB_DATABASE=vip2cars_prod
DB_USERNAME=usuario_prod
DB_PASSWORD=contraseña_segura

Comandos de despliegue:

php artisan config:cache
php artisan route:cache
php artisan view:cache

📝 Notas Adicionales

Note

Este sistema utiliza MySQL como base de datos principal. Asegúrate de tener MySQL y phpMyAdmin instalados y configurados.

Tip

Para personalizar el panel de administración, revisa la documentación de Filament en https://filamentphp.com

Important

El acceso al panel de administración es exclusivamente a través de /admin/login. No hay frontend público.


About

Sistema de gestión de vehículos desarrollado con Laravel y Filament para administrar clientes y sus vehículos de manera eficiente. Presenta un CRUD básico pero solido.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages