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
Gestionate como un verdadero profesional.
Translation pending
BusinessJavaScript · CSSGitHub @desabollitoOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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.
Gestión de trabajos de granizo: peritajes, turnos, reparaciones, presupuestos en PDF, gastos y operativos con equipo compartido. • Web: GitHub Pages, en desabollito.github.io (gratis) • Base de datos y usuarios: un proyecto nuevo de Firebase (plan gratuito Spark, sin Storage) • Fotos y documentos: una cuenta nueva de Cloudinary (plan gratuito) No usa Google Drive para nada.Read the full README ↗
Gestión de trabajos de granizo: peritajes, turnos, reparaciones, presupuestos en PDF, gastos y operativos con equipo compartido.
desabollito.com (dominio propio en Cloudflare; repo desabollito.github.io)No usa Google Drive para nada.
desabollito.com.southamerica-east1 (São Paulo), la más cercana a Argentina. No se puede cambiar después.firestore.rules → Publicar.</> (app web). Poné un nombre, no marques Hosting.firebaseConfig que aparece y pegá sus valores en js/config.js, dentro de FIREBASE.Las claves de firebaseConfig, incluida apiKey, son públicas por diseño. Van en el navegador de cualquiera que abra la web. No dan acceso a los datos: eso lo controlan las reglas de Firestore.
desabollito_web.Unsigned. Es lo que permite subir desde el navegador sin exponer el secreto.desabollito/<operativo>/<vehículo> y las fotos de perfil en desabollito/perfiles/.jpg,png,webp,heic,pdf,doc,docx,xls,xlsx para que nadie suba otra cosa.js/config.js:export const CLOUDINARY = {
cloudName: "tu-cloud-name",
uploadPreset: "desabollito_web",
rootFolder: "desabollito"
};
Sobre el preset sin firma: cualquiera que lea el código de la web podría usar ese preset para subir archivos a tu cuenta, es el costo de no tener servidor. Limitar formatos (paso 3) y revisar el uso de vez en cuando en el Dashboard alcanza para este tipo de app.
Borrar archivos:
Créditos:
desabollito/desabollito.github.io borrá todos los archivos viejos (lista abajo).index.html manifest.json sw.js firestore.rules README.md
css/app.css
js/ (app, carmap, config, data, domain, firebase, media, pdf, shell, ui, excel, views-gastos, views-otros, views-vehiculos)
img/ (app-192.png, app-512.png, logo-claro.png, logo-oscuro.png)
js/config.js.Cada vez que publiques cambios, subí el número de versión en sw.js (desabollito-v2.0.2, etc.). Así los teléfonos con la app instalada toman la versión nueva.
| Archivo | Motivo |
|---|---|
app.js, auth.js, vehicles.js, budget.js, pdf-export.js, share.js, corporation.js, firebase-config.js, style.css, index.html viejo | Reemplazados por la versión nueva |
drive.js, drive-public.js | Todo lo de Google Drive queda descartado |
REGLAS_FIRESTORE.txt | Reemplazado por firestore.rules |
icon-192.png, icon-192dark.png, icon-192white.png, icon-512.png | No se usaban |
icon-512dark.png, icon-512white.png, newlogo192.png, newlogo512.png | Ahora están en img/ con otro nombre |
El Firebase viejo sigue vivo aunque la web ya no lo use. Tiene dos problemas:
config/drive guarda el clientId, el clientSecret y el refreshToken. Lo puede leer cualquier cuenta registrada, y cualquiera puede registrarse. Con eso se accede al Google Drive donde se subían las fotos.Qué hacer, en este orden:
allow read, write: if false; para todo.Desabollito de ese Drive.[email protected], porque Firebase pide un email. La persona nunca lo ve.@usuario único, que es el que se usa para sumarlo a un equipo.bot/GUIA-BOT.md.| Archivo | Qué hace |
|---|---|
js/config.js | Claves de Firebase y Cloudinary |
js/firebase.js | Inicializa Firebase con caché offline |
js/data.js | Sesión, perfil, operativos, miembros, vehículos y gastos |
js/domain.js | Estados, piezas y geometría del mapa del auto |
js/carmap.js | Mapa de carrocería interactivo |
js/media.js | Compresión y subida a Cloudinary |
js/pdf.js | PDF de presupuesto y de planilla |
js/views-vehiculos.js | Lista, detalle y formulario |
js/views-otros.js | Planilla, calendario, operativo, ajustes y papelera |
js/views-gastos.js | Gastos: resumen por categoría, carga y exportación |
js/excel.js | Exportación a Excel (.xlsx) |
js/app.js | Login y navegación |
js/shell.js, js/ui.js | Barra superior, diálogos, avisos y utilidades |