Dashboard de administración y gobierno de negocio para Alejo Taller — panel staff (owner / admin / sales / viewer) sobre el mismo backend Appwrite que la tienda.
Estado del núcleo:
| Núcleo | Estado |
|---|---|
| Core 1 | Cerrado (2026-08-12) — soft-hold, ventas UNVERIFIED→VERIFIED/DELETED, catálogo |
| Core 2 | Cerrado (2026-08-24) — factura de entrada, stock_movements (entrada / salida_venta), finance/COGS, cola, reservas taller (dash); merge PR #12 → master |
| Superficie | URL |
|---|---|
| Dashboard (este repo) | https://alejotaller.onrender.com/ |
| Tienda web (cliente) | Ver monorepo / deploy en AlejoTaller |
Si el dominio de producción del panel cambia, actualiza esta tabla y
DEPLOYMENT.md.
| Repo | Rol |
|---|---|
| dash_alejo_taller (este) | Back-office web (Svelte + Vite + Appwrite) |
| AlejoTaller | Monorepo: tienda Android, operador de escaneo, web cliente, políticas |
| Operador / scan | Confirmación en mostrador (primario); dash = supervisión con la misma semántica de stock |
Contrato de stock compartido:
available = max(0, existence − reserved)
Cliente UNVERIFIED → reserved += qty
Confirmar VERIFIED → existence -= qty, reserved -= qty (+ salida_venta + sale_finance_event)
Rechazar DELETED → reserved -= qty
Factura de entrada → existence += qty (+ stock_movements entrada + last_unit_cost)
- Soft-hold Core 1:
.roadmap/Core1/CANONICAL_RULES_FREEZE.md - Deltas Core 2:
.roadmap/Core2/POLICY_DELTAS_CORE2.md
- Auth y roles staff con rutas protegidas
- Productos: catálogo, imágenes, stock visible
- Ventas: listado, pendientes, detalle, confirmar y rechazar
- Realtime productos/ventas; usuarios, categorías, promos, support, ajustes
Estado: .roadmap/Core1/MVP_CORE1_STATUS.md
Funcionalidades incrementadas respecto a Core 1:
| Área | Entregado |
|---|---|
| Alta de stock | Factura de entrada multi-línea: única vía de alta en UI; producto nuevo en factura; catálogo suelto con existence 0 |
stock_movements |
Tipos activos: entrada (factura), salida_venta (paridad panel/operador al VERIFIED) |
| Finanzas | last_unit_cost, sale_finance_event, KPIs solo sobre ventas VERIFIED; COGS = last_unit_cost × qty |
| Cola operativa | Cola UNVERIFIED + badges nav (ventas / reservas / mensajes) |
| Inventario (lectura) | Listados de movimientos y facturas de entrada |
| Reservas taller | Collection workshop_reservation + UI de gobierno en dash (dominio aparte de Sale) |
| Permisos | Staff write / cliente sin write en movements, purchase, finance, workshop_reservation |
No incluido en Core 2 (implementación futura):
- Ajuste de inventario (UI + flujo auditado tipo
ajuste) — política y enum en schema definidos; UI no disponible - Devolución formal post-VERIFIED (UI)
- Reserva de taller desde el cliente web (flujo end-to-end B2C)
- Smoke opcional en dispositivo físico del operador
Checklist: .roadmap/Core2/CORE2_UNIFIED_CHECKLIST.md
Estado: .roadmap/Core2/MVP_CORE2_STATUS.md
- Svelte 5 + Vite + TypeScript · Appwrite · Pulse/Pusher opcional · Deploy Render (
DEPLOYMENT.md)
npm install
cp .env.example .env
npm run dev
npm run check && npm run test:unit && npm run buildNo commitear .env.
| Núcleo | Índice |
|---|---|
| Core 1 | .roadmap/Core1/README.md |
| Core 2 | .roadmap/Core2/README.md |
| Índice | .roadmap/README.md |
- Ajuste de inventario (UI) — futura implementación (política ya documentada)
- Smoke opcional confirm operador en dispositivo físico (
salida_venta+ finance) - Reserva taller desde cliente web (E2E B2C)
- E2E tienda ↔ dash / deuda UI menor
Proyecto privado de operación de Alejo Taller.