Helados, café y postres. Sistema de ventas e inventario de Katty Heladería.
Translation pending
BusinessGitHub @KevinMadariagaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
heladeria Katty
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Sistema de inventario y ventas de Kathy Coffe Heladería: punto de venta táctil para cajeros, caja con apertura y cierre, inventario, reportes y panel de administración.
Next.js 16 (App Router, Server Actions) · TypeScript estricto · MongoDB Atlas + Mongoose · Auth.js (usuario y contraseña) · Tailwind CSS v4 + shadcn/ui · Motion · Recharts · Zod · Vitest + Playwright.
npm install
cp .env.example .env.local # completa MONGODB_URI y AUTH_SECRET
npm run seed # crea el admin (admin / 123456) y las categorías base
npm run dev # http://localhost:3000
Cambia la contraseña del admin desde /admin/usuarios después del primer ingreso.
| Variable | Uso |
|---|---|
MONGODB_URI | Conexión a MongoDB Atlas (las ventas usan transacciones: requiere replica set, Atlas ya lo trae) |
AUTH_SECRET | Firma de sesiones. Genera con openssl rand -base64 32 |
CLOUDINARY_* | Opcional. Sin estas variables, las fotos de productos se guardan en MongoDB |
| Comando | Qué hace |
|---|---|
npm run dev | Servidor de desarrollo |
npm run build / npm start | Build y servidor de producción |
npm run lint · npm run typecheck | Calidad de código |
npm test | Tests unitarios (cálculo de caja, stock, periodos en hora Colombia, CSV) |
npm run test:e2e | E2E con Playwright contra la base <nombre>_test (nunca toca la base real). Detén npm run dev antes |
npm run seed | Admin + categorías. Con SEED_DEMO=1 agrega productos y cajero de ejemplo (solo para pruebas) |
createSale es una transacción: verifica turno abierto, recalcula precios en el servidor, descuenta stock con $inc condicionado a stock >= qty y registra el movimiento. Dos cajas vendiendo la última unidad: solo una pasa.$dateTrunc en zona America/Bogota.0.0.0.0/0 (o la integración Vercel–Atlas).MONGODB_URI y AUTH_SECRET en Environment Variables.npm run seed una vez apuntando a la base de producción.