# Abogadas Litoral Aplicacion web para gestion de turnos de un estudio juridico, desarrollada con Laravel y Vite. ## Tabla de contenido - [Tecnologias y versiones](#tecnologias-y-versiones) - [Requisitos previos](#requisitos-previos) - [Instalacion](#instalacion) - [Comandos utiles](#comandos-utiles) - [Testing](#testing) - [Flujo de trabajo con Git](#flujo-de-trabajo-con-git) - [Estructura principal](#estructura-principal) - [Notas](#notas) ## Tecnologias y versiones Versiones tomadas del proyecto actual: - PHP: `^8.2` - Laravel Framework: `^12.0` - PHPUnit: `^11.5.3` - Node.js: recomendado `>=20` - npm: recomendado `>=10` - Vite: `^7.0.7` - Bootstrap: `^5.3.8` - FullCalendar: `^6.1.20` - Spatie Laravel Backup: `^9.3` - DomPDF (barryvdh/laravel-dompdf): `^3.1` Archivos fuente de versionado: - `composer.json` - `package.json` ## Requisitos previos - PHP 8.2 o superior - Composer 2.x - Node.js y npm - Base de datos (segun entorno): - En `.env.example` la conexion por defecto es `sqlite` - En `config/database.php` el fallback de Laravel esta en `mysql` ## Instalacion ### Opcion rapida (script del proyecto) ```bash composer run setup ``` Este script ejecuta: 1. `composer install` 2. Creacion de `.env` desde `.env.example` (si no existe) 3. `php artisan key:generate` 4. `php artisan migrate --force` 5. `npm install` 6. `npm run build` ### Opcion manual ```bash composer install copy .env.example .env php artisan key:generate php artisan migrate npm install npm run build ``` Si usas Linux/Mac, reemplaza `copy` por: ```bash cp .env.example .env ``` ## Comandos utiles Levantar entorno de desarrollo completo (servidor, cola, logs y Vite): ```bash composer run dev ``` Levantar solo backend: ```bash php artisan serve ``` Levantar solo frontend: ```bash npm run dev ``` Compilar assets para produccion: ```bash npm run build ``` ## Testing Ejecutar tests: ```bash composer run test ``` o ```bash php artisan test ``` ## Flujo de trabajo con Git ### 1) Crear rama de trabajo ```bash git checkout main git pull origin main git checkout -b feature/nombre-cambio ``` ### 2) Commits pequenos y descriptivos Formato recomendado: - `feat: agrega agenda semanal` - `fix: corrige validacion de telefono` - `docs: actualiza readme de instalacion` ### 3) Subir rama y abrir Pull Request ```bash git add . git commit -m "feat: descripcion breve" git push -u origin feature/nombre-cambio ``` ### 4) Actualizar tu rama con cambios de main ```bash git checkout main git pull origin main git checkout feature/nombre-cambio git merge main ``` ## Estructura principal - `app/`: modelos, controladores, middleware y logica principal - `resources/views/`: vistas Blade - `resources/js/` y `resources/css/`: frontend - `routes/`: rutas web, api y consola - `database/migrations/`: migraciones - `tests/`: pruebas unitarias y feature - `scripts/`: utilidades de scheduler en Windows ## Datos de acceso (Entorno de desarrollo) Las credenciales de administrador se generan automáticamente al ejecutar las migraciones con seeders: ```bash php artisan migrate:fresh --seed ``` O si prefieres solo los seeders sin resetear migraciones: ```bash php artisan db:seed ``` Consulta `database/seeders/` para ver los datos que se cargan. ## Notas - No subir archivos sensibles al repositorio (`.env`, claves, tokens). - Mantener este README actualizado ante cambios de version o arquitectura.