Sistema de gestion moderno y personalizable diseñado especificamente para joyerias. Facilita la administracion del negocio mediante control de precios de metales, catalogo, ventas, cierres de caja, reportes de rentabilidad y una interfaz adaptada a la marca de la tienda.
Este proyecto está construido utilizando tecnologías modernas para asegurar rapidez, escalabilidad y una excelente experiencia de usuario tanto en web como en escritorio.
- Frontend: React 19, Vite, Tailwind CSS, Zustand (para manejo de estado global).
- Enrutamiento: React Router DOM v7.
- Backend / Base de Datos: Supabase (PostgreSQL, Autenticación, Storage, RLS Policies).
- Aplicación de Escritorio: Electron y Electron Builder.
- Iconos y Notificaciones: Lucide React y React Hot Toast.
- Gestión de Catálogo y Categorías: Administración completa de productos (creación, edición, eliminación), subida de imágenes a la nube y categorización dinámica.
- Control de Inventario y Metales: Manejo preciso de stock de artículos y control específico para materiales de joyería (Oro, Plata, Fantasía).
- Punto de Venta Dinámico: Flujo de ventas rápido con buscador de productos y un sistema de recomendaciones inteligentes (upsells) en la pantalla de cobro.
- Cortes de Caja (Cierres Diarios): Sistema estricto que exige y registra cortes de caja diarios antes de permitir nuevas ventas, separando transacciones por turno y calculando totales exactos incluyendo devoluciones.
- Roles de Usuario (RBAC): Accesos diferenciados para Administradores (acceso total a configuración, reportes y catálogo) y Vendedores (acceso enfocado a ventas y cierres de turno).
- Reportes: Visualización histórica de ventas, devoluciones y apartados.
- Personalización de la Tienda (Theming): Configuración de colores primarios/secundarios, tipografías y logo de la marca, los cuales persisten por sesión a través de la base de datos.
Antes de ejecutar el proyecto, asegúrate de tener instalado:
- Node.js (versión recomendada LTS)
- Una cuenta en Supabase con el esquema de base de datos configurado.
-
Clonar el repositorio:
git clone <URL_DE_TU_REPOSITORIO> cd POS_MERIDIANO
-
Instalar las dependencias:
npm install
-
Configurar variables de entorno: Copia el archivo de ejemplo y agrega tus credenciales de Supabase.
cp .env.example .env
Abre
.envy coloca tus claves de la API de Supabase (VITE_SUPABASE_URLyVITE_SUPABASE_ANON_KEY). -
Ejecutar en modo Desarrollo (Web):
npm run dev
-
Ejecutar en modo Desarrollo (Aplicación de Escritorio con Electron):
npm run electron:dev
Para generar los instaladores de producción de la aplicación de escritorio:
- Para Windows:
npm run electron:build
- Para macOS:
npm run electron:build:mac
- Para Linux:
npm run electron:build:linux
Los archivos ejecutables y de instalación se generarán en la carpeta C:/pos-meridiano-build o según se especifique en la configuración de electron-builder en el package.json.
Desarrollado con ❤️ para optimizar la gestión joyera.