Commit Graph

149 Commits

Author SHA1 Message Date
IsmaelAcevedo a0c91dc567 Merge pull request 'Feat/cpanel deploy' (#4) from feat/cpanel-deploy into main
Reviewed-on: #4
Reviewed-by: IsmaelAcevedo <desarrollo@secuiep.mx>
2026-07-07 17:19:18 +00:00
fernando c84bce3c27 tipo: anexo del cpanel.yml y cpanel 2026-07-07 11:17:05 -06:00
fernando 9bd9d0e633 Merge branch 'main' into feat/cpanel-deploy 2026-07-07 11:08:57 -06:00
fernando 04ab84012f tipo: anexo del cpanel.yml 2026-07-07 11:08:17 -06:00
fernando 5fa28ab295 Merge pull request 'docs: actualizar README con sección de fernando' (#3) from feat/readme-fernando into main
Reviewed-on: #3
2026-07-07 17:03:10 +00:00
fernando 790d19a659 docs: actualizar README con sección de fernando 2026-07-03 18:20:47 -06:00
fernando bca4605384 Merge pull request 'Feat/docentes' (#2) from feat/docentes into main
Reviewed-on: #2
2026-07-03 23:47:55 +00:00
Ismael Gutierrez Acevedo 2a784f219f fix/Cambio en nombre de rol en readme 2026-07-03 17:20:21 -06:00
Ismael Gutierrez Acevedo 348f302819 fix/Cambio en nombre de rol en readmi 2026-07-03 17:16:25 -06:00
fernando 13056a4c47 Delegación de funciones por persona 2026-06-25 12:54:34 -06:00
fernando 4d532fb57b Modificación del composer install 2026-06-16 15:37:15 -06:00
fernando 9f54230da7 Modificación de Mayusculas en clase documneto tipo 2026-06-16 15:14:48 -06:00
fernando e3ba276fd9 Modificación de Mayusculas en clase documneto tipo 2026-06-16 15:12:13 -06:00
Isma-acv e9b7933358 Merge pull request #2 from FernandosPerez/feature/alumnos
Feature/alumnos
2026-06-10 15:39:47 -06:00
IsmaelAcevedo 57af7260ea SECU-2 Crear una rama en local 2026-06-10 15:28:09 -06:00
Ismael Gutierrez Acevedo 8331b544c7 SECU-2 Crear una rama en local 2026-06-10 15:00:13 -06:00
Isma-acv 11319ae54c Merge pull request #1 from FernandosPerez/feature/alumnos
Feature/alumnos
2026-06-10 13:03:03 -06:00
Ismael Gutierrez Acevedo 04b8c38130 SECU-2 Crear una rama en local 2026-06-10 13:01:40 -06:00
Ismael Gutierrez Acevedo 311589ce48 Merge branch 'main' into develop 2026-06-08 12:00:53 -06:00
fernando cb9c58dda2 actualizacion general del proyecto con .env 2026-06-06 23:45:28 -06:00
fernando 13ddc396b5 actualizacion general del proyecto 2026-06-06 23:43:09 -06:00
Isma-acv c90a707419 Update README.md 2026-06-05 13:47:19 -06:00
Isma-acv eaf5d953a8 Update README.md 2026-06-05 13:46:35 -06:00
fernando 3f48c0bc7c fix: acceso público a imágenes de storage para WhatsApp y navegador
- Mueve la ruta /storage/{path} fuera del middleware de auth para que
  sea pública; necesario para que los servidores de WhatsApp y el navegador
  puedan cargar imágenes de promociones sin autenticación
- Dockerfile: agrega 'rm -rf public/storage' antes de storage:link para
  evitar que COPY copie la junction de Windows y deje el symlink roto en el contenedor
- Crea .dockerignore: excluye public/storage, .git, .env y artefactos de
  build del contexto de Docker para builds más limpios y seguros

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 21:06:08 -06:00
fernando a0c3194e88 feat: WhatsApp — parámetros nombrados en template, API v25.0 e imagenUrl con soporte de URL externas
- Actualiza graph.facebook.com de v19.0 a v25.0
- Cambia parámetros posicionales a nombrados (parameter_name) en enviarTemplate para compatibilidad con plantillas avanzadas
- enviarPromocion ahora pasa nombre fallback 'estudiante' y claves explícitas
- imagenUrl() soporta imágenes con URL absoluta (http/https) además de rutas relativas de storage
- Agrega Log::info del payload completo antes del envío para facilitar debugging

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 20:44:13 -06:00
fernando f246a709c4 feat: WhatsApp webhook — reescritura del controller y rutas en web.php
Simplifica WhatsAppWebhookController: messages crea WhatsappLog con tipo
'recibido', statuses actualiza el log existente por whatsapp_mensaje_id,
opt-out detecta solo STOP/cancelar con regex. Agrega rutas GET/POST
/webhook/whatsapp fuera del grupo auth en web.php (POST sin CSRF).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 22:01:37 -06:00
fernando 61b18df8e8 feat: WhatsApp promociones — fechas en español, status webhook y analytics inspector
- Corrige formato de fechas a español con Carbon isoFormat('D [de] MMMM')
- Webhook procesa statuses de Meta (delivered/read/failed) y actualiza pivot alumno_promocion
- Analytics: nuevas métricas de entregados/leídos, embudo de entrega, filtro por tipo
- Inspector de payload raw por log con modal y botón copiar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 15:42:26 -06:00
fernando 19a236818e Carga y configuración de platilla de api de whats app 2026-05-22 22:22:36 -06:00
fernando f99580c176 Fix: fastcgi remote addr 2026-05-21 23:43:22 -06:00
fernando 750321571c Fix: Dockerfile extencion php ext install 2026-05-21 23:26:22 -06:00
fernando 28faa727b1 Fix: socket permissions para nginx 2026-05-21 23:21:41 -06:00
fernando b574ae1ed3 Fix Bad Gateway: PHP-FPM via Unix socket + logs en supervisord 2026-05-11 18:23:16 -06:00
fernando e39d666d8b Fix nginx fastcgi_pass IPv6 a IPv4 para PHP-FPM 2026-05-11 18:07:12 -06:00
fernando 89d7959f25 Modificación de fast cgi 2026-05-11 10:58:51 -06:00
fernando edb1c859a0 Modificación de header 2026-05-11 02:48:22 -06:00
fernando 6ecb23746c Modificación de supervisor para evitar conflicto de puertos 2026-05-11 02:40:44 -06:00
fernando 3fe47d5b1d Modificación directa a php comandos para incremento de memoria de subida de archivos 2026-05-11 02:33:52 -06:00
fernando b76bff834b Modificacion docker file sobre run build y modificación de variables completas para websocket 2026-05-11 02:12:44 -06:00
fernando 0df6c38784 Fix chat message and photo sending
- Remove broken transformRequest that crashed with Axios 1.x (headers.post undefined)
- Guard window.Echo.socketId() to avoid TypeError before socket connects
- Wrap broadcast() in try/catch so Reverb downtime does not cause 500 errors

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 02:02:31 -06:00
Fernando f54acb8675 Refactor directory creation in Dockerfile
Consolidate directory creation commands and clean up Dockerfile.
2026-05-11 01:07:51 -06:00
Fernando c2a7efeb6a Update trustProxies middleware to include headers 2026-05-11 00:58:19 -06:00
Fernando ca2813ade3 Change Laravel server port from 8080 to 8081 2026-05-11 00:16:18 -06:00
fernando b41f94f436 Cambio de multipart Axios 2026-05-09 15:20:23 -06:00
fernando 2d51c8f558 Cambio del nixpacks 2026-05-09 10:30:24 -06:00
fernando 7049e8e1d3 Cambio del supervisor 2026-05-09 10:22:51 -06:00
fernando 4b17ea76b1 Add public/.user.ini to fix 2MB PHP upload limit on Nixpacks/Coolify
Nixpacks builds its own PHP-FPM + Nginx image and ignores Dockerfile.
PHP-FPM automatically reads .user.ini from the document root (public/),
so this is the correct way to override php.ini settings in Nixpacks.

Raises: upload_max_filesize 2M -> 50M, post_max_size 8M -> 55M

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 08:25:58 -06:00
fernando 27af72b26e Force PHP upload limits via -d flags and fix Dockerfile layer order
Pass upload_max_filesize=50M and post_max_size=55M directly with -d
flags on every php process in supervisord. This is guaranteed to apply
regardless of ini scanning order or Docker layer caching.

Also move COPY docker/php.ini before COPY . . so the conf.d file is
always placed before the app code is copied, ensuring Docker does not
use a stale cached layer that skips the ini file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 08:20:46 -06:00
fernando 9851c887ec Raise all file upload limits to 50MB across the stack
PHP (docker/php.ini via conf.d — loaded automatically, no -c flag needed):
  upload_max_filesize 2M -> 50M
  post_max_size       8M -> 55M

Nginx: client_max_body_size 25M -> 55M

Livewire (config/livewire.php published):
  temporary_file_upload rules max 12MB -> 50MB (max:51200)

Laravel validation rules (all in KB):
  profile photo:        5120 (5MB)  -> 51200 (50MB)
  posts image:          5120 (5MB)  -> 51200 (50MB)
  anuncios image:       5120 (5MB)  -> 51200 (50MB)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 08:12:33 -06:00
fernando 56f4e3b226 Increase file upload validation limits
- EntregaController: max:2048 -> max:20480 (2MB -> 20MB)
- UpdateUserProfileInformation: max:1024 -> max:5120 (1MB -> 5MB)

The server-level limits (nginx client_max_body_size and php.ini) were
already raised in the previous commit; these Laravel validation rules
were the remaining bottleneck blocking uploads over 2MB.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 08:01:13 -06:00
fernando ff5b6f5eec Fix file upload limit over 2MB in production with HTTPS
- Use printf instead of echo to correctly write php.ini with newlines
  (Alpine ash echo does not interpret \n, leaving the file malformed
  and PHP falling back to its 2MB default)
- Add nginx.conf with client_max_body_size 25M as front-end proxy
- Start nginx on port 8080 via supervisord; move artisan serve to
  internal port 8081 so nginx can proxy requests with proper limits

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09 07:41:52 -06:00