javierandClaude Fable 5 29ee49984e fix(uploads): forzar scheme https percibido → arregla 401 en /livewire/upload-file
Diagnóstico (reproducido contra el servidor de pruebas con curl):
- POST /livewire/update (_startUpload) genera la URL firmada correcta:
  https://avantee.duckdns.org/livewire/upload-file?expires=...&signature=...
- POST inmediato a esa misma URL → 401. La firma se valida contra la URL que
  Laravel RECONSTRUYE de la petición entrante; en esa ruta el proxy no le hace
  llegar X-Forwarded-Proto, Laravel percibe http:// y la firma no cuadra.
- Livewire muestra entonces el genérico "The uploadFile failed to upload".

Fix: middleware ForceHttpsScheme (prepend, antes de TrustProxies): si APP_URL
empieza por https://, fija X-Forwarded-Proto=https y X-Forwarded-Port=443 en
todas las peticiones. Con trustProxies('*') ya activo, generación y validación
de firmas usan siempre el mismo scheme. En local/tests (APP_URL http) no hace nada.

Nota servidor: git pull && php artisan config:clear && php artisan config:cache.
Sigue siendo recomendable client_max_body_size 60m en OpenResty para KML grandes.

Suite 94 passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 21:31:16 +02:00
2026-05-07 23:31:33 +02:00

Avante

Sistema de gestión de proyectos de construcción con mapas interactivos, control de progreso, inspecciones y soporte offline.

Características

  • Mapas interactivos — Visualización de proyectos sobre mapa con capas (GeoJSON/KML) y elementos editables
  • Gestión de fases — Proyectos organizados en fases con progreso porcentual y seguimiento histórico
  • Capas y elementos — Subida de archivos GeoJSON/KML, capas vacías editables con color personalizado
  • Inspecciones — Plantillas de inspección por proyecto, asignables a elementos del mapa
  • Progreso — Seguimiento visual del progreso por fase y global del proyecto
  • Sincronización offline — Endpoints para trabajadores en campo, sincronización diferida
  • Permisos — Roles y permisos granulares (Spatie Permission)
  • Dashboard — Estadísticas globales, proyectos recientes, inspecciones

Requisitos

  • PHP 8.2+
  • MySQL/MariaDB
  • Composer
  • Node.js + NPM

Instalación

git clone <repo-url> construprogress
cd construprogress
composer install
npm install && npm run build
cp .env.example .env
# Editar .env con credenciales de base de datos
php artisan key:generate
php artisan migrate
php artisan db:seed --class=RolePermissionSeeder  # si existe
php artisan serve

Stack técnico

  • Framework: Laravel 11
  • Frontend: Tailwind CSS + DaisyUI + Leaflet.js
  • Mapas: Leaflet + Leaflet Draw (editor gráfico)
  • Componentes: Livewire 3
  • Base de datos: MySQL/MariaDB
  • Autenticación: Laravel Breeze
S
Description
App Laravel para el seguimiento y revisión de obra
Readme
1.6 MiB
Languages
PHP 53.7%
Blade 45.8%
JavaScript 0.5%