🥣 Açaí Brasil — Stock

Versión v1.0.0 · Generado: 2026-07-12 08:38:02 · https://stock.acai.ar

Sistema PHP+MySQL para gestión de stock y pedidos de 4 sucursales

📝 Cambios de esta versión:
Manual
🔐 CONFIDENCIAL. Este documento contiene credenciales. NO compartir. Si tu Gmail se compromete, rotar todas las claves listadas.

🌐 URLs y dominios

Principales

Sistemahttps://stock.acai.ar
Admin loginhttps://stock.acai.ar/index.php?tab=admin
Socio loginhttps://stock.acai.ar/index.php?tab=socio
URL viejatru.ar/acai/ → 301 → stock.acai.ar

🖥️ Infraestructura

Server

ProviderOracle Cloud Free Tier (ARM)
IP137.131.132.15
SSH userubuntu
SSH key PCC:\Users\aR\Desktop\ssh-key-2026-04-19.key
SSH key NotebookC:\Users\Usuario\Desktop\ssh-key-2026-04-19.key
OSUbuntu 22.04
StackNginx 1.18 + PHP 8.1-FPM + MySQL 8.0.45 (TZ -03:00)

Paths

Web root/var/www/acai/
Vhost/etc/nginx/sites-available/acai
SSL/etc/letsencrypt/live/stock.acai.ar/ · vence 30/07/2026 (autorenew)

🗄️ Base de datos

Credenciales

Hostlocalhost
DBacai_stock
Useracai_user
PasswordAcai2026Stock!
Charsetutf8mb4

Tablas

admin_users / sucursales / categorias / items / unidades_medida / stock / pedidos / pedido_items / reservas / log_movimientosTotal items activos: 37 · Total pedidos: 16

Acceso CLI

sudo mysql acai_stock
mysql -u acai_user -p'Acai2026Stock!' acai_stock

📧 SMTP — pedidos

Configuración

ProviderDonweb / Ferozo
Hostc2652170.ferozo.com
Puerto465 (ssl)
User[email protected]
Password/k7pZt3*
From[email protected]
Destinos[email protected], [email protected], [email protected]

📱 WhatsApp (CallMeBot)

Configuración

Activo
Número5493513922702
API key3221530
Endpointapi.callmebot.com/whatsapp.php

👥 Usuarios y sucursales

Admin users

adminAlejandro · rol: admin
SOCIOSocio · rol: socio

Sucursales

ACAI Nueva CórdobaActiva
ACAI InfinitoActiva
ACAI Food TruckActiva
ACAI Shell SelectActiva

Claves del sistema

Backup encryptionxu3A!weq}5Wh30V:OBr1dE+6
Login negro tru.ar (legacy)reemplazado por OAuth Google
Socio (read-only)acai2026
⚠ Las claves de admin y sucursales están hasheadas en bcrypt. No son recuperables — resetear desde Admin → Sucursales → 🔑.

⚙️ Comandos útiles

Conectarse

ssh -i C:\Users\aR\Desktop\ssh-key-2026-04-19.key [email protected]

Backup DB

sudo mysqldump acai_stock > backup_$(date +%Y%m%d).sql
sudo mysql acai_stock < backup_YYYYMMDD.sql

Bump versión + mail

sudo /opt/backup-system/bump.sh acai patch "Descripción del cambio"

Regenerar backup ahora

sudo -u www-data php /opt/backup-system/send.php acai "Test"

Test WhatsApp

sudo -u www-data php -r "require '/var/www/acai/includes/whatsapp.php'; WhatsApp::send('test ' . date('H:i'));"

Renovar SSL (manual de emergencia)

sudo certbot renew --force-renewal

📋 Changelog

# 📋 Changelog · stock.acai.ar

## [1.0.0] — 2026-06-19

Versión inicial del sistema en producción.

### 🎯 Funcionalidades base
- Sistema PHP+MySQL para gestión de stock + pedidos
- 3 sucursales: ACAI Nueva Córdoba, ACAI Infinito, ACAI Food Truck (también ACAI Shell Select)
- Roles: Admin (escritura total), Socio (solo lectura), Sucursal (solo pedidos)
- 26 items iniciales en 2 categorías (Açaí y Cremas + Insumos)

### 📦 Stock y pedidos
- Modelo de reservas: stock físico - reservado = disponible
- Reset automático de reservas al cargar stock nuevo
- Carga bulk de stock desde texto WhatsApp
- Semáforos: 🟢 ≥10 / 🟡 5-9 / 🔴 <5
- Bloqueo de pedidos por encima del disponible
- Editor de pedidos en admin con notificación `[ACTUALIZADO]`

### 📧 Notificaciones
- Mail vía SMTP Donweb ([email protected])
- 3 destinatarios: frutosmoradosbrasileros@gmail, [email protected], embalajesdelcentro@gmail
- WhatsApp vía CallMeBot al número del admin
- Formato compacto con emojis y negritas

### 🔒 Seguridad
- HTTPS con Let's Encrypt
- Bcrypt en claves
- PDO prepared statements
- CSRF en todos los forms
- Rate limit 5 intentos / 15 min en login
- Sesiones HttpOnly + Secure + SameSite Strict

### 🌐 Infraestructura
- Oracle Free Tier ARM (137.131.132.15)
- Nginx + PHP 8.1-FPM + MySQL 8.0
- Dominio stock.acai.ar (Donweb)
- Mail SMTP c2652170.ferozo.com:465 SSL
- Login negro privado en tru.ar (solo admin)