Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DARENTVID - Proyecto Laravel de Venta de Propiedades

Este proyecto ha sido desarrollado como continuación del proyecto anterior realizado en la UF3, donde se trabajó un catálogo de propiedades. En esta nueva fase, se ha añadido un sistema completo de ventas, incluyendo carrito de compra, pedidos y un historial asociado al usuario, junto con una API RESTful para integraciones modernas.

Tecnologías y herramientas utilizadas

  • Laravel con Breeze para autenticación
  • Laravel Sanctum para autenticación por tokens en la API
  • MySQL como sistema de base de datos relacional
  • Blade como motor de plantillas
  • Tailwind CSS para el diseño visual
  • Vite para compilar los assets de frontend

Relación con el proyecto anterior (UF3)

Este proyecto amplía el trabajo anterior realizado en la UF3, donde ya teníamos:

  • Gestión de usuarios y roles (admin/user)
  • CRUD completo de propiedades con imagen, título, descripción, ubicación, tipo (venta/alquiler), etc.

Ahora se ha implementado:

  • Sistema de carrito basado en sesiones
  • Generación de pedidos desde el carrito
  • Historial de pedidos accesible desde el frontend
  • API protegida por Sanctum para registrar y ver pedidos
  • Mejoras visuales y organización del código

Estructura del proyecto

  • /app/Models/ → Modelos Eloquent como User, Property, Order, OrderItem
  • /app/Http/Controllers/ → Controladores para lógica de negocio (OrderController, PropertyController, etc.)
  • /resources/views/ → Plantillas Blade con estructura responsive y estilos personalizados
  • /routes/web.php y /routes/api.php → Definición de rutas frontend y API respectivamente

API RESTful

La API está protegida por tokens de Laravel Sanctum. Incluye:

  • POST /api/login → Devuelve token a partir del email y password
  • GET /api/orders → Devuelve historial del usuario autenticado
  • POST /api/orders → Registra un nuevo pedido (recibe JSON con propiedades y cantidades)

Funcionalidades principales

  • Ver listado de propiedades públicas y privadas
  • Crear/editar/eliminar propiedades (si el usuario tiene permisos)
  • Añadir propiedades al carrito desde el frontend
  • Confirmar pedido desde la vista de carrito → se envía a la API con token
  • Ver historial de pedidos desde una vista protegida (/orders)

Comandos y pasos realizados

  1. Crear proyecto base:
laravel new darentvid
cd darentvid
  1. Instalar Breeze:
composer require laravel/breeze --dev
php artisan breeze:install
npm install && npm run dev
php artisan migrate
  1. Instalar Sanctum:
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
  1. Crear modelos y migraciones:
php artisan make:model Order -m
php artisan make:model OrderItem -m
  1. Crear controladores:
php artisan make:controller OrderController
php artisan make:controller CartController
  1. Ejecutar servidor y Vite:
php artisan serve
npm run dev

Despliegue y pruebas

  • Para probar el login y obtener el token: usar Thunder Client o Postman → POST /api/login
  • Para enviar un pedido: POST /api/orders con token en cabecera Authorization: Bearer {TOKEN}
  • Desde el frontend, al pulsar "Confirmar pedido" se lanza automáticamente la petición

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages