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
Ventas, clientes, inventario y cobros de un negocio de venta por catalogo, en una sola aplicacion.
Translation pending
BusinessJavaScript · HTMLGitHub @Wilmer328OnlineOwner 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
Proyecto Final ISW2
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Sistema de gestión para un negocio de venta por catálogo: registra ventas, lleva el control de quién debe cuánto, administra el inventario, calcula precios por margen y avisa de los cobros prometidos. Proyecto Capstone de Ingeniería de Software 2. Daysi Rosario Gomez — April Collections, negocio de venta por catálogo (joyería, maquillaje, sandalias y perfumes) en Honduras.Read the full README ↗
Sistema de gestión para un negocio de venta por catálogo: registra ventas, lleva el control de quién debe cuánto, administra el inventario, calcula precios por margen y avisa de los cobros prometidos.
Proyecto Capstone de Ingeniería de Software 2.
Daysi Rosario Gomez — April Collections, negocio de venta por catálogo (joyería, maquillaje, sandalias y perfumes) en Honduras.
El negocio llevaba las cuentas en un cuaderno. Eso implicaba tres problemas concretos: el historial se perdía si el cuaderno se extraviaba, los abonos parciales quedaban anotados sueltos y nadie sabía con certeza quién debía cuánto, y los cobros prometidos se olvidaban.
Una aplicación web con seis módulos conectados entre sí:
| Módulo | Qué resuelve |
|---|---|
| Resumen del mes | Ventas, ganancia, margen y saldo por cobrar del período |
| Registro de ventas | Varios productos por venta, al contado, con abono inicial o a crédito; descuenta el stock |
| Clientes | Historial de compras y saldo pendiente por persona |
| Inventario | Catálogo por categoría con costo, precio, margen y existencias |
| Calculadora de precios | Precio de venta a partir del margen deseado |
| Recordatorios de cobro | Agenda del cobro prometido, con cierre automático al saldarse la deuda |
La regla que une el sistema: al registrar un abono, el saldo de la clienta y el recordatorio asociado se actualizan solos.
| Área | Estado |
|---|---|
| Aplicación funcional | ✅ 6 módulos operativos |
| Landing, login y portal privado | ✅ publicados en dominio propio |
| Capa de dominio con pruebas | ✅ 166 pruebas |
| Build y entorno de pruebas | ✅ Vite + Vitest |
| Autenticación con Google | ✅ en producción |
| Persistencia en Supabase | ✅ 9 tablas con RLS |
| Caché local para trabajar sin conexión | ✅ |
| PWA instalable y modo offline | ✅ |
| Integración continua | ✅ GitHub Actions |
| SonarCloud | ⏳ configuración lista, falta conectarlo |
npm install
npm run dev # servidor de desarrollo
npm run build # genera dist/
npm test # 166 pruebas
npm run test:coverage
Requiere Node 20 o superior.
| Ruta | Página | Acceso |
|---|---|---|
/ | Landing pública | Abierta |
/login | Inicio de sesión | Abierta |
/app | Aplicación | Requiere sesión |
/panel | Portal privado | Requiere sesión, comprobada en el servidor |
/api/health | Estado del servicio (JSON) | Abierta |
Hay una cuenta con datos ficticios para recorrer el producto sin tocar los datos reales del negocio.
| Usuario | [email protected] |
| Contraseña | Se entrega por el formulario de la plataforma del curso |
📋 Recorrido guiado en 4 pasos — qué mirar en cada pantalla y qué decisión de ingeniería demuestra.
La contraseña no se publica aquí: este repositorio es público y escribirla daría acceso a la demostración a cualquiera.
src/
├── domain/ Reglas de negocio. JavaScript puro: sin DOM, sin red.
│ Es la única capa con pruebas exhaustivas.
├── auth/ Sesión con Supabase Auth.
├── data/ Cliente de Supabase.
└── ui/ Presentación.
La regla que sostiene el diseño: domain/ no importa nada de las otras
capas ni del navegador. Por eso se prueba sin simular un DOM y por eso la
cobertura de esa capa es real y no está inflada con pruebas artificiales.
La arquitectura está documentada en docs/arquitectura.md, con los tres niveles del modelo C4 en diagramas Mermaid.
Las decisiones importantes se registran en docs/adr/.
Ninguna credencial se versiona. El repositorio no contiene valores de
configuración de ningún tipo: los archivos que podrían llevarlos están en
.gitignore.
Para poner en marcha un entorno, copia env.ejemplo como .env —ignorado por
Git— y rellénalo con los datos de tu proyecto de Supabase.
📄 docs/configuracion.md explica qué valores hacen falta, de dónde se obtienen, cuáles son públicos por diseño y cuáles no pueden salir nunca del servidor.
Las 166 pruebas cubren la capa de dominio y la caché local. La cobertura global es menor porque incluye las capas de UI y de acceso a datos, que no tienen pruebas unitarias; se reporta así a propósito, en vez de excluirlas para inflar el número.
Se publica en Vercel desde la rama main, protegida por un ruleset que exige
pull request y pipeline en verde antes de fusionar.
El esquema de la base vive en supabase/migrations/ y
todas las migraciones son idempotentes.
| Ajuste | Valor |
|---|---|
| Framework Preset | Vite |
| Build Command | npm run build |
| Output Directory | dist |
ISC
LEARN-CAP-26A0B552
Acredita que este repositorio pertenece al autor del proyecto.