Go to file
Tatiana Villa Ema 3aa964f9df Arrancando el proyecto 2026-08-27 22:20:42 +02:00
css first commit 2026-08-21 12:59:17 +02:00
images first commit 2026-08-21 12:59:17 +02:00
sql Arrancando el proyecto 2026-08-27 22:20:42 +02:00
README.md Arrancando el proyecto 2026-08-27 22:20:42 +02:00
index.html Arrancando el proyecto 2026-08-27 22:20:42 +02:00

README.md

🏠 AlquilerFácil (PropTech Platform)

Plataforma integral para la gestión simplificada de alquileres residenciales en España.
Automatiza contratos legalmente válidos, cobro de rentas, scoring de inquilinos, contabilidad fiscal (IRPF) y marketplace de profesionales del hogar.


📌 Visión del Proyecto

AlquilerFácil nace con el objetivo de digitalizar y desburocratizar el proceso de alquiler de viviendas. Conectamos a propietarios, inquilinos y profesionales del mantenimiento en un único ecosistema seguro, reduciendo impagos, optimizando la rentabilidad y simplificando las obligaciones fiscales en España.


✨ Características Principales

👤 Para Inquilinos

  • Tenant Passport & Scoring Automated: Evaluación de solvencia basada en ratio de esfuerzo, estabilidad laboral y perfil (convivientes, mascotas).
  • Firma Digital Directa: Firma de contratos de arrendamiento online con validez legal (eIDAS).
  • Pagos Recurrentes: Suministro e historial de recibos de alquiler centralizados.

🏢 Para Propietarios

  • Gestión Integrada de Inmuebles: Ficha completa con referencia catastral, suministros (CUPS Luz/Gas), IBI y gastos de comunidad.
  • Cobros Automatizados & Split: Cobro mensual con retención automática de comisión mediante pasarela de pago.
  • Módulo Fiscal (IRPF / Renta): Cálculo de rentabilidad neta (ROI) y exportación de datos anuales desglosados en casillas de la Agencia Tributaria (AEAT).
  • Gestión de Incidencias: Solicitud directa de presupuestos y reparación a técnicos homologados.

🛠️ Para Profesionales y Manitas

  • Marketplace de Reparaciones: Oferta de servicios (pintura, electricidad, fontanería, cerrajería).
  • Facturación in-App: Emisión de presupuestos y facturas en la plataforma con división transparente de comisiones.

🛠️ Stack Tecnológico

Capa Tecnología Descripción
Backend PHP 8.x (Laravel / Custom MVC) Lógica de negocio, autenticación, API REST y motores de cálculo.
Database MySQL 8.0 Modelo relacional para usuarios, inmuebles, finanzas y contratos.
Frontend HTML5, CSS3 (Tailwind CSS / Bootstrap), JavaScript (ES6+) Interfaces dinámicas, paneles de control y formularios de scoring.
Integraciones Stripe Connect API Procesamiento de pagos, suscripciones y split de comisiones.
Firma Digital Signaturit / DocuSign API Firma electrónica avanzada en conformidad con eIDAS.
Herramientas/Scripts Python (BeautifulSoup / Scrapy) Scripts auxiliares de análisis de mercado y agregación de datos.

🗄️ Esquema Inicial de Base de Datos (MySQL)

-- 1. Usuarios y Perfiles
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    email VARCHAR(150) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    role ENUM('propietario', 'inquilino', 'profesional') NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE tenant_profiles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    ingresos_mensuales DECIMAL(10,2) NOT NULL,
    tipo_contrato ENUM('indefinido', 'temporal', 'autonomo') NOT NULL,
    tiene_mascotas BOOLEAN DEFAULT FALSE,
    num_convivientes INT DEFAULT 1,
    score_calculado INT DEFAULT 0,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- 2. Inmuebles y Contratos
CREATE TABLE properties (
    id INT AUTO_INCREMENT PRIMARY KEY,
    owner_id INT NOT NULL,
    direccion VARCHAR(255) NOT NULL,
    ref_catastral VARCHAR(20) UNIQUE,
    cups_luz VARCHAR(22),
    cups_gas VARCHAR(22),
    ibi_anual DECIMAL(10,2) DEFAULT 0.00,
    comunidad_mes DECIMAL(10,2) DEFAULT 0.00,
    FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE CASCADE
);

CREATE TABLE leases (
    id INT AUTO_INCREMENT PRIMARY KEY,
    property_id INT NOT NULL,
    tenant_id INT NOT NULL,
    precio_alquiler DECIMAL(10,2) NOT NULL,
    dia_cobro TINYINT DEFAULT 1,
    fecha_inicio DATE NOT NULL,
    fecha_fin DATE NOT NULL,
    estado ENUM('borrador', 'firmado', 'activo', 'finalizado') DEFAULT 'borrador',
    FOREIGN KEY (property_id) REFERENCES properties(id),
    FOREIGN KEY (tenant_id) REFERENCES users(id)
);

-- 3. Transacciones y Finanzas
CREATE TABLE transactions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    lease_id INT,
    property_id INT NOT NULL,
    tipo ENUM('alquiler', 'servicio_reparacion', 'gasto_deducible') NOT NULL,
    concepto VARCHAR(255) NOT NULL,
    monto_total DECIMAL(10,2) NOT NULL,
    comision_plataforma DECIMAL(10,2) DEFAULT 0.00,
    stripe_payment_id VARCHAR(100),
    estado_pago ENUM('pendiente', 'completado', 'fallido') DEFAULT 'pendiente',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (property_id) REFERENCES properties(id)
);

-- 4. Marketplace de Servicios
CREATE TABLE service_requests (
    id INT AUTO_INCREMENT PRIMARY KEY,
    property_id INT NOT NULL,
    professional_id INT,
    descripcion TEXT NOT NULL,
    monto_presupuesto DECIMAL(10,2),
    estado ENUM('solicitado', 'aceptado', 'pagado', 'completado') DEFAULT 'solicitado',
    FOREIGN KEY (property_id) REFERENCES properties(id),
    FOREIGN KEY (professional_id) REFERENCES users(id)
);

🚀 Hoja de Ruta (Roadmap)

  • Fase 0: Definición del alcance, modelo de negocio y arquitectura inicial.
  • Fase 1 (MVP Inmuebles & Contratos):
    • Sistema de autenticación de usuarios.
    • Generador dinámico de contratos de arrendamiento según LAU en PDF.
    • Integración con Stripe Connect para cobros automatizados.
  • Fase 2 (Inquilino & Scoring):
    • Algoritmo de scoring de solvencia para inquilinos.
    • Integración de firma digital eIDAS (Signaturit API).
  • Fase 3 (Fiscalidad & Propietario):
    • Dashboard de rentabilidad neta (gastos, ingresos, IBI).
    • Exportador de datos fiscales para la Declaración de la Renta (AEAT).
  • Fase 4 (Marketplace de Mantenimiento):
    • Módulo para técnicos y profesionales.
    • Flujo de presupuestos, aprobación y facturación in-app.

⚙️ Instalación Local (Entorno de Desarrollo)

Requisitos previos

  • PHP >= 8.1
  • MySQL Server >= 8.0
  • Composer
  • Servidor web local (Apache/Nginx o XAMPP/MAMP)

Pasos de configuración

  1. Clonar el repositorio:

    git clone https://github.com/tu-usuario/alquiler-facil.git
    cd alquiler-facil
    
  2. Configurar la base de datos:

    • Crea una base de datos local llamada alquiler_facil_db.
    • Importa el esquema SQL provisto en database/schema.sql.
  3. Variables de Entorno (.env):

    • Copia el archivo de ejemplo y ajusta las credenciales:
    cp .env.example .env
    
    • Modifica los accesos a la base de datos y las claves API (Stripe, Signaturit).
  4. Ejecutar el servidor local:

    php -S localhost:8000 -t public/
    

⚖️ Aspectos Legales y Normativa en España

Este proyecto contempla el cumplimiento de:

  • Ley de Arrendamientos Urbanos (LAU): Cláusulas contractuales estandarizadas.
  • Reglamento General de Protección de Datos (RGPD): Encriptación de datos sensibles y cumplimiento normativo.
  • Reglamento eIDAS: Firma electrónica avanzada para la validez legal de contratos.
  • Depósito de Fianzas (Comunidad de Madrid / IVIMA): Guías y flujos integrados para la gestión de fianzas públicas.

📄 Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más información.