javier a9000d453e feat: Add company association to projects with role management
- Created Company model and migration with fields: name, tax_id, address, phone, email, website, type, notes
- Created company_project pivot table with role_in_project field
- Added relationships: Project.companies() and Company.projects()
- Created Livewire component ProjectCompanies for managing company assignments
- Added 'Companies' tab to project edit interface alongside Phases and Users tabs
- Implemented assign/remove company functionality with role selection
- Applied same permissions logic as user assignment (assign users permission or Admin role)
2026-05-13 11:20:33 +02:00
2026-05-07 23:31:33 +02:00

ConstruProgress

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,012 KiB
Languages
Blade 54.9%
PHP 43.7%
JavaScript 1.4%