Una aplicación completa de gestión empresarial para emprendedores
Características • Instalación • Desarrollo • Documentación • Soporte
- Descripción
- Características Principales
- Stack Tecnológico
- Arquitectura
- Instalación
- Desarrollo
- Estado del Proyecto
- Roadmap
- Contribuciones
- Documentación
- Límites de Uso
- Seguridad
- Rendimiento
- Licencia
- Autor
- Soporte
NegocioListo es una aplicación móvil desarrollada en Android que permite a emprendedores y pequeños negocios gestionar de manera integral sus operaciones comerciales. La aplicación ofrece un conjunto completo de herramientas para administrar inventario, ventas, clientes, gastos, facturas y colecciones, todo desde un dispositivo móvil con soporte offline y sincronización en la nube.
La información de este repositorio se complementa con dos experiencias web públicas que muestran el producto en vivo:
- Presentación técnica —
https://app-negocio-listo.web.app/presentacion-appdescribe el stack, la arquitectura y las funcionalidades clave, con énfasis en el modo offline-first y el Portal del Cliente como core feature. - Landing comercial —
https://app-negocio-listo.web.app/landinges la página de marketing que resume los módulos principales (inventario, ventas, clientes, gastos, facturación) y enlaza al Portal del Cliente y la descarga de la app.
- 🚀 Offline-First: Funciona completamente sin conexión a internet
- 🔄 Sincronización Automática: Datos siempre actualizados en la nube
- 📱 Multi-Dispositivo: Accede a tus datos desde cualquier dispositivo
- 🎨 Interfaz Moderna: Diseño intuitivo con Material Design 3
- 🔒 Seguro: Encriptación de datos y autenticación segura
- 🌐 Portal del Cliente - Core Feature: Portal web completo y funcional para comunicación profesional directa
- 📊 Límites Transparentes: Sistema de límites claro y verificable para mantener el servicio gratuito
Para Usuarios:
- Descarga el APK desde Releases
- Instala la aplicación en tu dispositivo Android
- Crea una cuenta y comienza a gestionar tu negocio
Para Desarrolladores:
- Clona el repositorio:
git clone https://github.com/DonGeeo87/NegocioListoApp.git - Configura Firebase (ver Instalación)
- Abre el proyecto en Android Studio
- Ejecuta la aplicación:
./gradlew installDebug
- ✅ Catálogo completo de productos con imágenes optimizadas
- ✅ Control de stock y precios en CLP (Pesos Chilenos)
- ✅ Categorización avanzada de productos
- ✅ Escaneo de códigos de barras integrado
- ✅ Alertas automáticas de stock bajo
- ✅ Búsqueda y filtros avanzados en tiempo real
- ✅ Compresión automática de imágenes
- ✅ Vista de estadísticas de inventario
- ✅ Registro rápido de ventas con carrito
- ✅ Múltiples métodos de pago
- ✅ Generación automática de facturas
- ✅ Historial completo de transacciones
- ✅ Estadísticas de ventas en tiempo real
- ✅ Integración con clientes y productos
- ✅ Búsqueda de productos en tiempo real
- ✅ Base de datos de clientes completa
- ✅ Historial de compras detallado por cliente
- ✅ Información de contacto completa
- ✅ Importación de contactos desde el dispositivo
- ✅ Segmentación de clientes
- ✅ Búsqueda y filtros avanzados
- ✅ Vista de detalle con estadísticas personalizadas
- ✅ Categorización inteligente de gastos
- ✅ Seguimiento de proveedores
- ✅ Reportes financieros mensuales automáticos
- ✅ Integración con ventas para análisis de ganancias
- ✅ Filtros por fecha y categoría
- ✅ Resúmenes automáticos con visualización clara
- ✅ Múltiples plantillas de factura (3 tipos diferentes)
- ✅ Personalización completa de datos empresariales
- ✅ Exportación en PDF de alta calidad
- ✅ Numeración automática (F001-xxxx)
- ✅ Compartir por email y WhatsApp
- ✅ Vista previa antes de exportar
- ✅ Agrupación inteligente de productos relacionados
- ✅ Precios especiales por colección
- ✅ 🌐 Portal del Cliente - Core Feature: Portal web completo y funcional
- ✅ 💬 Chat en Tiempo Real: Comunicación bidireccional cliente-negocio
- ✅ 🎨 Templates Visuales: 5 diseños personalizables (MODERN, CLASSIC, MINIMAL, DARK, COLORFUL)
- ✅ 👤 Gestión Automática de Clientes: Creación desde pedidos web
- ✅ 🔔 Notificaciones Push (FCM): Alertas en tiempo real
- ✅ 🔗 Links Públicos: Compartir por WhatsApp, email o copiar de forma directa.
- ✅ 📊 Seguimiento de Pedidos: Estados en tiempo real
- ✅ 🚀 Canal de Comunicación Profesional: Sin intermediarios ni grandes equipos
- ✅ KPIs en tiempo real en CLP
- ✅ Alertas de stock bajo
- ✅ Top productos más vendidos
- ✅ Top clientes más activos
- ✅ Métricas de ventas y gastos
- ✅ Calculadora de Precios
- ✅ Punto de Equilibrio
- ✅ Recuperación de Inversión
- ✅ Estimador de Stock
- Jetpack Compose - UI moderna declarativa
- Material Design 3 - Sistema de diseño moderno
- Navigation Component - Navegación tipo-safe
- Coil - Carga eficiente de imágenes
- Animaciones - Transiciones suaves y fluidas
- Room Database - Base de datos local con SQLite
- Firebase Firestore - Base de datos en la nube
- Firebase Storage - Almacenamiento de imágenes
- Firebase Authentication - Autenticación segura
- Firebase Cloud Messaging - Notificaciones push
- Firebase Hosting - Mini-web pública
- DataStore - Preferencias del usuario
- Security Crypto - Encriptación de datos sensibles
- Hilt - Inyección de dependencias moderna
- Clean Architecture - Separación de capas
- MVVM - Model-View-ViewModel
- Repository Pattern - Abstracción de datos
- Use Cases - Lógica de negocio
- Kotlin Coroutines - Programación asíncrona
- Kotlinx DateTime - Manejo moderno de fechas
- Flow - Streams reactivos de datos
- WorkManager - Tareas en background
Kotlin: 1.9.22
Compose BOM: 2024.10.00
Compose Compiler: 1.5.10
Hilt: 2.51
Room: 2.6.1
Firebase BOM: 32.7.0
DataStore: 1.1.1
KSP: 1.9.22-1.0.17
Min SDK: 24 (Android 7.0)
Target SDK: 34 (Android 14)
La aplicación sigue los principios de Clean Architecture con una separación clara de responsabilidades:
┌─────────────────────────────────────┐
│ Presentation Layer │
│ (Jetpack Compose + ViewModels) │
├─────────────────────────────────────┤
│ Domain Layer │
│ (Use Cases + Business Models) │
├─────────────────────────────────────┤
│ Data Layer │
│ (Repositories + Data Sources) │
└─────────────────────────────────────┘
- UI Components: Pantallas y componentes reutilizables
- ViewModels: Gestión de estado y lógica de presentación
- Navigation: Navegación tipo-safe entre pantallas
- Use Cases: Lógica de negocio pura
- Models: Modelos de dominio
- Interfaces: Contratos para repositorios
- Repositories: Implementación de lógica de datos
- Local Data Sources: Room Database
- Remote Data Sources: Firebase Firestore
- Data Mappers: Conversión entre modelos
- ✅ MVVM (Model-View-ViewModel)
- ✅ Repository Pattern
- ✅ Use Cases (Clean Architecture)
- ✅ Dependency Injection (Hilt)
- ✅ Offline-First con sincronización automática
- ✅ Single Source of Truth
- Componentes Unificados:
UnifiedButtons,UnifiedCards,UnifiedTopAppBar - Design Tokens: Colores, tipografía, espaciado centralizados
- Gradientes Corporativos: Paleta basada en la marca (#009FE3, #312783)
- Modo Oscuro: Soporte completo con transiciones suaves
- Animaciones: Transiciones fluidas de 300ms
- Android 7.0 (API 24) o superior
- 150 MB de espacio libre
- Conexión a internet (para sincronización inicial)
- Cámara (opcional, para escaneo de códigos de barras)
- Descarga el archivo
app-debug.apkdesde Releases - Habilita "Fuentes desconocidas" en tu dispositivo Android
- Instala el APK
- Abre la aplicación y crea tu cuenta
- Android Studio Hedgehog 2023.1.1 o superior
- JDK 17 o superior
- Gradle 8.4 o superior
- Git
# 1. Clonar el repositorio
git clone https://github.com/DonGeeo87/NegocioListoApp.git
cd NegocioListoApp
# 2. Configurar Firebase
# - Crear proyecto en Firebase Console
# - Descargar google-services.json
# - Colocarlo en app/google-services.json
# 3. Configurar local.properties (si es necesario)
# sdk.dir=C:\\Users\\TuUsuario\\AppData\\Local\\Android\\Sdk
# 4. Compilar y ejecutar
./gradlew assembleDebug
./gradlew installDebug- Crear proyecto en Firebase Console
- Agregar app Android con package
com.negociolisto.app - Descargar
google-services.json - Colocar en
app/google-services.json - Habilitar los siguientes servicios:
- Authentication (Email/Password, Google Sign-In)
- Firestore Database
- Storage
- Cloud Messaging (FCM)
- Hosting
- Android Studio: Hedgehog 2023.1.1+
- Kotlin: 1.9.22
- Compose BOM: 2024.10.00
- Min SDK: 24 (Android 7.0)
- Target SDK: 34 (Android 14)
- Gradle: 8.4
- AGP: 8.2.2
El proyecto está configurado con:
- ✅ Hilt para inyección de dependencias
- ✅ KSP para procesamiento de anotaciones
- ✅ Room con migraciones
- ✅ Compose Compiler configurado
- ✅ ProGuard para release builds
# Build debug
./gradlew assembleDebug
# Instalar en dispositivo
./gradlew installDebug
# Ejecutar tests
./gradlew test
# Limpiar proyecto
./gradlew clean
# Build sin tests (más rápido)
./gradlew assembleDebug -x test
# PowerShell (Windows) - Build con script
./clean-and-build.ps1app/
├── src/
│ ├── main/
│ │ ├── java/com/negociolisto/app/
│ │ │ ├── data/ # Capa de datos
│ │ │ ├── domain/ # Capa de dominio
│ │ │ ├── presentation/ # Capa de presentación
│ │ │ ├── di/ # Inyección de dependencias
│ │ │ └── ui/ # Componentes UI
│ │ └── res/ # Recursos (imágenes, strings, etc.)
│ ├── test/ # Tests unitarios
│ └── androidTest/ # Tests instrumentados
└── build.gradle.kts # Configuración del módulo
clean-and-build.ps1: Script PowerShell para limpiar y compilarscripts/deploy_firebase.ps1: Desplegar reglas y hosting de Firebasescripts/deploy_functions.ps1: Desplegar Cloud Functions
- Versión: 1.0.2
- Version Code: 3
- Estado: ✅ Funcional - Portal del Cliente como Core Feature
- Última Actualización: 17 de Noviembre de 2025
- ✅ Portal del Cliente completamente funcional - El portal web ahora es el corazón de NegocioListo
- ✅ Portal integral del cliente con gestión completa de colecciones, pedidos y chat
- ✅ 5 Templates Visuales personalizables (MODERN, CLASSIC, MINIMAL, DARK, COLORFUL)
- ✅ Chat en tiempo real bidireccional con historial completo y mensajes del sistema
- ✅ Sistema de pedidos web completo con seguimiento de estados en tiempo real
- ✅ Gestión automática de clientes desde pedidos web sin intervención manual
- ✅ Canal de comunicación profesional directo sin depender de grandes equipos
- ✅ Ahorro de tiempo y dinero al eliminar intermediarios y automatizar procesos
- ✅ Experiencia web personalizada para cada negocio sin necesidad de desarrollo complejo
- ✅ Optimizaciones en rendimiento del portal web
- ✅ Mejoras en sincronización de datos entre app y portal
- ✅ Correcciones en sistema de notificaciones push
- ✅ Mejoras en UI de colecciones y pedidos
- ✅ Actualización de componentes del dashboard
- ✅ Optimizaciones en carga de imágenes del portal
- ✅ Mejoras en repositorios de datos (Firebase y Room)
- ✅ Optimizaciones en sincronización de datos
- ✅ Correcciones en gestión de clientes y ventas
- ✅ Mejoras en UI de colecciones y pedidos
- ✅ Actualización de componentes de inventario
- ✅ Mejoras en dashboard y métricas
- ✅ Optimizaciones en importación de contactos
- ✅ Correcciones en flujo de onboarding y setup inicial
- ✅ Sistema de límites de uso implementado (100 productos, 50 clientes, 50 colecciones)
- ✅ Verificación de capacidad de Storage antes de crear cuentas (90% de 5 GB)
- ✅ Pantalla de Límites de Uso en Configuración para monitorear consumo
- ✅ Optimización de compresión de imágenes (30 MB por usuario)
- Clean Architecture + MVVM implementada completamente
- Inyección de Dependencias con Hilt (sin ciclos)
- Base de Datos Room con migraciones
- Sistema de Errores robusto y centralizado
- Firebase Integration completa (Auth, Firestore, Storage, FCM, Hosting)
- Offline-First implementado
- Material Design 3 completo
- Sistema de diseño unificado (Unified Components)
- Animaciones suaves y transiciones fluidas
- Dark Mode completo
- Responsive Design adaptable
- Estados vacíos modernos e informativos
- Inventario - CRUD completo con imágenes optimizadas
- Ventas - Sistema completo de registro y facturación
- Clientes - Base de datos completa con importación
- Gastos - Control financiero con reportes
- Colecciones - Agrupación de productos con funcionalidades extendidas
- 🌐 Portal del Cliente - Portal web completo como core feature con chat, pedidos y templates
- Facturas - Generación y exportación PDF
- Dashboard - Métricas y KPIs en tiempo real
- Configuración - Perfil, empresa, backup, exportación
- Eliminación de dependencias duplicadas
- Optimización de imports
- Compresión automática de imágenes
- Lazy loading en listas
- Cache inteligente de imágenes
- Build paralelo configurado
- Agregar más tests unitarios para ViewModels
- Optimizar queries de Room para mejor rendimiento
- Mensajes del sistema automáticos en chat ✅ Implementado en v1.0.2
- Analytics y métricas de uso de colecciones
- Mejorar documentación de API
- Integración de pagos (MercadoPago, Getnet, Flow)
- Subida de imágenes de referencia por cliente
- Google Maps para ubicación de entrega
- Sugerencias automáticas de combos o upsells
- Exportación de reportes en múltiples formatos
- Integración con sistemas de punto de venta
- Soporte para múltiples idiomas
- Versión web completa (PWA)
- Integración con APIs de contabilidad
- Sistema de reportes avanzados con gráficos
- IA para sugerencias de productos
- 🤖 IA para Reportes Semanales Inteligentes: Generación automática de reportes semanales con análisis de cómo ha estado el negocio, estrategias recomendadas y áreas de atención para mejorar la gestión del negocio
Las contribuciones son bienvenidas. Por favor:
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'feat: Add some AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
- Seguir Conventional Commits
- Mantener código limpio y documentado
- Agregar tests para nuevas funcionalidades
- Revisar CONTRIBUTING.md para más detalles
- Usar ktlint para formateo
- Seguir las convenciones de Kotlin
- Escribir código autodocumentado
- Agregar comentarios cuando sea necesario
- Guía de Usuario - Manual completo de uso
- Guía de Desarrollo - Información técnica detallada
- Guía de Contribución - Cómo contribuir al proyecto
- Guía de Backup - Configuración de backups
- Límites de Uso - Límites y capacidades del sistema
- Colecciones Extendidas - Funcionalidades de colecciones
- Guía de Testing - Testing de colecciones
NegocioListo tiene límites establecidos para garantizar un rendimiento óptimo y una experiencia fluida para todos los usuarios. Estos límites están diseñados para la mayoría de pequeños negocios y emprendimientos, y estamos trabajando continuamente en mejoras para futuras versiones.
- Productos: 100 productos por usuario
- Clientes: 50 clientes por usuario
- Colecciones: 50 colecciones por usuario
- Almacenamiento: ~30 MB por usuario (optimizado)
El sistema implementa tres niveles de advertencia:
- Normal (< 80%): Uso normal, sin restricciones
- Advertencia (80% - 95%): Mensaje informativo, puedes seguir agregando
- Crítico (≥ 95%): Alerta importante, se recomienda optimizar
Para aprovechar al máximo tu espacio disponible:
- Organiza tu inventario eliminando productos no utilizados
- Mantén tu base de clientes actualizada
- Optimiza tus colecciones agrupando productos relacionados
- Gestiona tus imágenes eficientemente
- Revisa regularmente tu uso en la pantalla de Límites de Uso
Estamos trabajando continuamente en mejorar la aplicación. En futuras versiones esperamos aumentar los límites disponibles y optimizar aún más el uso de almacenamiento.
Para más detalles sobre límites y cómo verificar tu uso, consulta:
- Desde la raíz del proyecto, copia los archivos actualizados de
landing/apublic/landing/:cd C:/Users/DonGeeo87/AndroidStudioProjects/NegocioListo2 Copy-Item landing\* public\landing -Recurse -Force
- Verifica que la CLI de Firebase esté disponible:
Si no aparece un número de versión, instala
firebase --versionfirebase-tools(npm install -g firebase-tools). - Ejecuta el deploy:
firebase deploy --only hosting - Revisa la URL que muestra Firebase (ej.:
https://app-negocio-listo.web.app) y comprueba que la landing pública refleja los enlaces actualizados al repositorio.
- ✅ Autenticación segura con Firebase
- ✅ Encriptación de datos sensibles (Security Crypto)
- ✅ Validación robusta de entrada de datos
- ✅ Backup automático en la nube con Firebase
- ✅ Sesiones seguras con encriptación
- ✅ Almacenamiento seguro de credenciales
- ✅ Manejo seguro de imágenes y archivos
- ✅ Verificación de capacidad de Storage antes de crear cuentas
- No exponer secretos en el código
- Usar variables de entorno para configuración sensible
- Validar todas las entradas del usuario
- Implementar rate limiting donde sea necesario
- Mantener dependencias actualizadas
- Monitorear uso de recursos para prevenir exceder límites
- ⚡ Tiempo de Build: 50% más rápido (4min → 2min)
- 📦 Tamaño de APK: Reducción de ~1MB
- 🚀 Carga Inicial: 20-30% más rápido
- 💾 Uso de Memoria: 10-15% más eficiente
- 🎯 Respuesta de UI: 20-25% más rápida
- 📱 Navegación: 15-20% más fluida
- Carga de pantallas: < 2 segundos
- Navegación fluida entre secciones
- Optimización de memoria con lazy loading
- Sincronización eficiente en background
- Cache inteligente de imágenes
El Portal del Cliente es el corazón y la funcionalidad principal de NegocioListo. No es solo una mini-web, sino un portal completo y funcional que transforma cómo los negocios se comunican con sus clientes.
Es un canal de comunicación profesional directo que permite a los clientes acceder a colecciones compartidas, realizar pedidos, chatear con el negocio y dar seguimiento completo a sus pedidos, todo sin necesidad de instalar ninguna aplicación. Toda la información está integrada para que las colecciones se luzcan y entreguen un canal directo de comunicación profesional a través de una web personalizada sin depender de grandes equipos y ahorrando tiempo y dinero.
- 🎯 Canal de Comunicación Profesional: Comunicación directa cliente-negocio sin intermediarios
- ⚡ Ahorro de Tiempo y Dinero: Automatización completa que elimina la necesidad de grandes equipos
- 🚀 Sin Dependencias Externas: Web personalizada lista para usar sin desarrollo complejo
- 💼 Experiencia Integrada: Toda la información del negocio integrada en un solo portal
- 🌐 Accesibilidad Universal: Funciona en cualquier dispositivo sin instalación
- 🎨 Templates Visuales: 5 diseños personalizables (MODERN, CLASSIC, MINIMAL, DARK, COLORFUL)
- 💬 Chat en Tiempo Real: Comunicación bidireccional cliente-negocio con historial completo
- 📦 Sistema de Pedidos Completo: Gestión completa de pedidos con seguimiento de estados en tiempo real
- 👤 Gestión Automática de Clientes: Creación automática desde pedidos web sin intervención manual
- 🔔 Notificaciones Push (FCM): Alertas en tiempo real para cliente y negocio
- 📧 Email Automático: Confirmación automática de pedidos
- 🔗 Links Públicos: Compartir por WhatsApp, email o SMS con un solo clic
- 📊 Seguimiento de Pedidos: Estados en tiempo real sincronizados entre app y portal
- 🖼️ Gestión de Imágenes: Carga optimizada de imágenes desde Firebase Storage
- 💾 Persistencia Local: Guardado automático del formulario de pedido
https://TU_PROYECTO.web.app/collection.html?id=COLLECTION_ID&template=TEMPLATE_NAME
- ✅ Comunicación Profesional: Canal directo con tus clientes sin depender de plataformas externas
- ✅ Automatización Completa: Desde pedido hasta seguimiento, todo automatizado
- ✅ Experiencia Personalizada: Cada negocio tiene su propio portal único
- ✅ Ahorro de Recursos: Sin necesidad de equipos grandes ni desarrollo complejo
- ✅ Escalabilidad: Crece con tu negocio sin limitaciones técnicas
- Guía Completa de Colecciones Extendidas
- Guía de Testing de Colecciones
- Documentación del Portal del Cliente
Este proyecto está bajo la Licencia MIT. Ver LICENSE para más detalles.
Desarrollado con ❤️ por un Emprendedor para Emprendedores
- Desarrollador: Giorgio Interdonato Palacios
- GitHub: @DonGeeo87
Para soporte técnico o consultas:
- GitHub Issues: Crear Issue
- Documentación: Wiki del Proyecto
Gracias a toda la comunidad de desarrolladores Android que hacen posible proyectos como este.
¡Gracias por usar NegocioListo! 🚀
Una aplicación desarrollada con pasión para ayudar a los emprendedores a gestionar sus negocios de manera eficiente y moderna.
Última actualización: 17 de Noviembre de 2025
Versión: 1.0.2
Estado: ✅ Funcional - Portal del Cliente como Core Feature