Crea una aplicación web para el control de ingresos por comisiones y gastos personales con soporte multiusuario y un bot de Telegram integrado. ## Descripción general La aplicación debe permitir a múltiples usuarios registrar ventas diarias por mes mediante un calendario interactivo, calcular comisiones basadas en un porcentaje configurable, sumar un sueldo mensual fijo, registrar gastos y mostrar el dinero restante tanto mensual como por quincena. Cada usuario debe tener acceso únicamente a su propia información. ## Funcionalidades principales ### 1. Sistema multiusuario * Registro e inicio de sesión * Cada usuario solo puede ver y modificar sus propios datos * Relación de todos los datos con user_id ### 2. Gestión por mes * Crear, ver y editar meses por usuario ### 3. Calendario de captura (IMPORTANTE) * Cada mes debe mostrarse como un calendario visual * El usuario NO captura la fecha manualmente * El usuario selecciona un día haciendo clic en el calendario Al seleccionar un día: * Se abre un formulario/modal para capturar: * Ventas registradas por el usuario * Ventas del sistema de la empresa El sistema debe: * Guardar automáticamente la fecha según el día seleccionado * Mostrar visualmente en el calendario: * Días con información registrada * Días sin registrar * Indicadores rápidos (ej: colores o íconos) ### 4. Registro diario de ventas Por cada día seleccionado: * Ventas registradas por el usuario * Ventas del sistema de la empresa Cálculos: * Diferencia entre valores * Comisión diaria ### 5. Configuración de variables por usuario Cada usuario puede definir: * Porcentaje de comisión * Sueldo mensual ### 6. Cálculos automáticos * Comisión diaria = ventas del sistema × porcentaje * Total mensual de comisiones * Total ingresos = sueldo + comisiones * Total gastos * Balance final ### 7. Gestión de gastos * Agregar múltiples gastos: * Descripción * Monto * Fecha (opcional o seleccionable desde calendario) ### 8. Cálculo por quincena * Primera quincena (1–15) * Segunda quincena (16–fin) Mostrar: * Ingresos * Gastos * Balance ### 9. Dashboard * Resumen mensual * Totales * Vista de calendario * Tabla opcional de ventas * Resumen por quincena ## Integración con Telegram ### Vinculación segura * El usuario inicia sesión en la web * Genera un código único de vinculación * En Telegram, el usuario envía ese código al bot * El bot vincula el chat_id con el usuario ### Funcionalidades del bot El usuario puede: * Registrar ventas: comando: /venta 1500 1400 (el sistema usa automáticamente la fecha actual) * Registrar gastos: comando: /gasto comida 200 * Consultar resumen: comando: /resumen * Consultar quincena: comando: /quincena ### Seguridad * No pedir usuario/contraseña en Telegram * Validar chat_id vinculado * Solo permitir acceso a datos del usuario vinculado ## Base de datos (sugerida) * users (id, name, email, password) * telegram_accounts (id, user_id, chat_id) * months (id, user_id, name, year) * daily_sales (id, user_id, month_id, date, user_sales, system_sales) * settings (id, user_id, commission_percentage, monthly_salary) * expenses (id, user_id, month_id, description, amount, date) ## Requisitos técnicos * Backend: Laravel * Frontend: Blade o Vue * Base de datos: MySQL * Uso de librería de calendario (ej: FullCalendar) ## Extras opcionales * Exportar a Excel/CSV * Gráficas * Notificaciones por Telegram ## UI/UX * Interfaz tipo dashboard * Calendario como elemento principal * Colores para indicar estado de días * Captura rápida mediante modales La aplicación debe ser rápida, intuitiva y enfocada en facilitar la captura diaria sin errores y todos los logs se deben de guardar en la carpeta logs de la raiz.