# ItalvetCRM - Backend API

CRM Web para Gestión de Leads y Seguimiento Comercial.

**Stack:** PHP 8.1+ (MVC) + Composer + MySQL

## Requisitos

- PHP >= 8.1
- Composer
- MySQL 5.7+ / MariaDB 10.3+
- Apache con mod_rewrite (o Nginx)

## Instalación

```bash
# 1. Clonar el repositorio
git clone <repo-url>
cd italvet

# 2. Instalar dependencias
composer install

# 3. Copiar y configurar variables de entorno
copy .env.example .env
# Editar .env con tus credenciales de BD, JWT, SMTP, Google APIs

# 4. Crear base de datos
mysql -u root -p -e "CREATE DATABASE italvet CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"

# 5. Ejecutar migraciones
mysql -u root -p italvet < database/migrations/001_create_users_sessions.sql

# 6. Servidor de desarrollo
php -S localhost:8000 -t public
```

## Estructura del proyecto

```
italvet/
├── public/               # Punto de entrada (front controller)
│   └── index.php
├── app/
│   ├── Controllers/      # Controladores (capa HTTP)
│   ├── Models/           # Modelos y acceso a datos (PDO)
│   ├── Services/         # Lógica de negocio
│   ├── Middlewares/       # Auth, CORS, roles, rate-limit
│   └── Helpers/          # Request, Response, Validator, Router
├── config/               # Archivos de configuración
├── database/
│   ├── migrations/       # Migraciones SQL
│   └── seeds/            # Datos iniciales
├── routes/               # Definición de rutas API
├── storage/              # Uploads, backups, logs
├── cron/                 # Scripts para cron jobs
├── tests/                # Tests (PHPUnit)
├── composer.json
└── .env
```

## API Endpoints

| Método | Ruta | Descripción |
|--------|------|-------------|
| GET | `/api/health` | Estado del servidor |

## Convenciones

- **PSR-4**: namespace `App\` → directorio `app/`
- **REST**: JSON request/response
- **Autenticación**: JWT Bearer Token
- **Roles**: `super_admin` | `comercial_manager`

## Licencia

Propietario - Todos los derechos reservados.
