** Panel Maestro **: Se creó una nueva página SuperAdminPanel.jsx accesible en la ruta /admin-maestro . Este repositorio contiene los tres componentes principales del ecosistema FacStock, un ERP diseñado para la gestión de inventario y facturación electrónica en Argentina.
El sistema sigue una arquitectura de microservicios (o servicios desacoplados) donde cada componente tiene una responsabilidad clara:
graph TD
A[Frontend AFIP] -->|Solicitudes API| B[Backend Gestor de Inventario]
B -->|Persistencia| C[(MongoDB)]
B -->|Facturación Electrónica| D[Backend AFIP Facturación]
D -->|Persistencia| C
D -->|Firma Digital / SOAP| E[Servicios AFIP]
- Tecnología: React + Vite.
- Responsabilidad: Interfaz de usuario para la gestión de ventas, productos, clientes y configuración de empresa.
- Puerto por defecto:
5173 - Conexión: Se comunica exclusivamente con el Backend Gestor de Inventario.
- Tecnología: Node.js + Express + Mongoose.
- Responsabilidad: Orquestador central. Maneja la lógica de negocio, autenticación, stock, cajas y ventas.
- Puerto por defecto:
3010(configurado vía.env) - Conexión:
- Consume Backend AFIP Facturación para procesos fiscales.
- Persiste datos en MongoDB.
- Tecnología: Node.js + Express + Mongoose.
- Responsabilidad: Especializado en la integración técnica con AFIP (WSAA, WSFE). Maneja certificados, tokens y generación de PDFs/QRs.
- Puerto por defecto:
3005(configurado vía.env) - Conexión:
- Recibe órdenes del Backend Gestor de Inventario.
- Persiste datos en MongoDB (compartida).
- Usuario interactúa con el Frontend: Por ejemplo, hace clic en "Emitir Factura".
- Frontend llama al Gestor de Inventario: Envía los datos de la venta.
- Gestor de Inventario procesa la venta:
- Valida stock.
- Si es factura electrónica, delega al Backend AFIP.
- Backend AFIP procesa con AFIP:
- Obtiene Token de Acceso (si es necesario).
- Envía el comprobante a los servidores de AFIP via SOAP.
- Recibe el CAE.
- Genera el PDF con el código QR.
- Respuesta final: Los datos viajan de regreso al Gestor de Inventario y finalmente al Frontend para mostrar la factura al usuario.
Para poner en marcha el sistema completo localmente:
- Base de Datos: Asegúrate de tener una instancia de MongoDB corriendo.
- Backend AFIP:
cd backend-afip-facturacionnpm install- Configurar
.env(Puerto 3005 sugerido) npm start
- Backend Gestor de Inventario:
cd backend-gestor\ de\ inventarionpm install- Configurar
.env(Puerto 3010 sugerido, apuntarBACKEND_AFIP_URLal puerto 3005) npm start
- Frontend:
cd frontend-afipnpm install- Configurar
.env(ApuntarVITE_API_URLal puerto 3010) npm run dev
Cada proyecto tiene su propio README.md con detalles técnicos, modelos de datos y endpoints específicos.
Desarrollado para FacStock - 2026