Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
Translation pending
ERP de producción de REINER S.A.
Translation pending
BusinessTypeScript · CSSGitHub @matiasvenutolo-cmdOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Mockup navegable del ERP de producción a medida para REINER S.A. (metalúrgica, fabricante de máquinas comprimidoras para la industria farmacéutica). No es un prototipo descartable: es la aplicación real (Next.js + TypeScript, Postgres en Neon vía Drizzle), corriendo hoy en la cuenta de Pinaro sin costo (tiers gratuitos). Antes de la puesta en marcha real en taller se traspasa a la cuenta de REINER — ver docs/01-analisis.md §5.1 y docs/04-runbook-traspaso.md.Read the full README ↗
Mockup navegable del ERP de producción a medida para REINER S.A. (metalúrgica, fabricante de máquinas comprimidoras para la industria farmacéutica).
No es un prototipo descartable: es la aplicación real (Next.js + TypeScript, Postgres en Neon vía Drizzle), corriendo hoy en una cuenta de desarrollo sin costo (tiers gratuitos). Antes de la puesta en marcha real en taller se traspasa a la cuenta de REINER — ver docs/01-analisis.md §5.1 y docs/04-runbook-traspaso.md.
Deploy: https://reiner-erp.vercel.app
npm install
npx vercel link # una sola vez, conecta esta carpeta al proyecto de Vercel
npx vercel env pull .env.local --environment=preview
npm run dev
Login real (RF-12, desde la devolución del cliente del 2026-09-19 — ver
docs/05-backlog-release-2.md §9): ingeniería,
dirección y taller entran con email + contraseña; operario elige su nombre y
entra con PIN. Credenciales de demo (sembradas por db:seed):
| Usuario | Rol | Acceso |
|---|---|---|
| [email protected] | Dirección | contraseña reiner2026 |
| [email protected] | Ingeniería | contraseña reiner2026 |
| [email protected] | Taller | contraseña reiner2026 |
| Nico | Operario | PIN 1234 |
Son sólo para esta etapa — rotarlas antes del traspaso (docs/04-runbook-traspaso.md C4).
Cada rol ve una navegación distinta y sólo puede entrar a sus propias rutas —
antes era wayfinding, ahora el acceso se controla de verdad. Operario es
la pantalla mobile (/taller), pensada para probarse en un celular real o
con el emulador angosto del navegador.
Postgres real (Neon), conectado vía la integración de Storage de Vercel. El
schema vive en src/lib/db/schema.ts — es la fuente
de verdad del modelo de datos (docs/02-modelo-datos.md).
npm run db:push # aplica el schema a la base (drizzle-kit push)
npm run db:seed # siembra maestros + usuarios/clientes/tipos de parada de demo
db:push alcanza para esta etapa (un solo entorno, sin historial de
producción real todavía). El día del traspaso a la cuenta de REINER conviene
pasar a db:generate + migraciones versionadas — ver el runbook.
| Pantalla | Ruta | Cubre |
|---|---|---|
| Maestros | /maestros | RF-01 — modelo → configuración → conjunto → pieza → hoja de ruta |
| Generar OT | /ot/nueva | RF-02, RF-04 — explosión automática + cruce contra stock |
| Detalle de OT | /ot/[id] | RF-03 — jerarquía conjunto/pieza, cantidad a fabricar editable |
| Taller (operario) | /taller | RF-05, RF-06, RF-07 — carga de tiempos en 2-3 toques, paradas, piezas OK/rechazadas |
| Stock | /stock | RF-10 — stock disponible + WIP por etapa de proceso (hallazgo 3.1) |
| Avance | /avance | RF-09 — semáforo de fabricación por máquina |
| Usuarios | /usuarios | RF-12 — login real, accesos administrados por ingeniería/dirección/taller (Release 2) |
| Centros de trabajo | /centros-trabajo | Cola de producción por centro: disponible ahora / a futuro, reordenable (Release 2) |
| Logística | /logistica | Ingresos/egresos + control de calidad al recibir materia prima o proceso tercerizado (Release 2) |
| Indicadores | /indicadores | Tiempos, paradas y errores de fabricación (Release 2) |
| Revisión | /revision | Tareas de revisión de retrabajo, generadas solas al cerrar piezas defectuosas (Release 2) |
| Remitos | /remitos | Remitos numerados con vista imprimible, generados desde Logística (Release 2) |
Release 2 (devolución del cliente del 2026-09-19) está completa — ver docs/05-backlog-release-2.md para el detalle de cada paquete, las decisiones tomadas y las preguntas pendientes para la próxima reunión.
Los datos maestros son reales: 454 piezas, 24 conjuntos y 627 operaciones migrados de los Excel del cliente. Ver docs/migracion-datos.md para el detalle de qué se migró y qué asunciones quedaron pendientes de validar con Julián.
scripts/migrate-excel.ts Migra los .xlsm del cliente a fixtures JSON tipadas
scripts/seed-db.ts Siembra Postgres con esas fixtures + datos de demo
src/lib/db/schema.ts Schema Drizzle — el modelo de datos real (docs/02)
src/lib/db/client.ts Cliente Postgres (Neon)
src/lib/fixtures/data/*.json Datos migrados (generados, no editar a mano — sólo los usa el seed)
src/lib/data/*.ts Capa de datos: consultas Drizzle contra Postgres
src/app/ Rutas de Next.js (App Router)
src/app/actions/*.ts Server Actions (mutaciones)
docs/ Análisis, modelo de datos, plan y runbook de traspaso
Si cambian los Excel del cliente (en ~/Downloads/REINER):
npm run db:migrate-excel # reescribe src/lib/fixtures/data/*.json y docs/migracion-datos.md
npm run db:seed # vuelve a sembrar Postgres (usa onConflictDoNothing, no duplica)