184 lines
3.4 KiB
Markdown
184 lines
3.4 KiB
Markdown
# 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.
|