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
מסמכים בזמן (Docs on Time): הלקוחות מעלים מסמכים מהטלפון, המשרד רואה בלוח אחד מה הגיע ומה חסר.
Translation pending
BusinessJavaScript · HTMLGitHub @Waives-ioOnlineOwner 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.
דמו עובד לאיסוף, בדיקה ומעקב אחר מסמכי לקוחות במשרד רואי חשבון. לכל לקוח רשומה אחת עם פרטי קשר, איש קשר וסוג תיק קבוע. לכל טיפול או תקופת דיווח נפתח ללקוח תיק משלו, עם רשימת מסמכים, קישור אישי, סטטוס והיסטוריה. המילים בממשק: לקוח (clients), תיק (cases), סוג תיק (templates).Read the full README ↗
דמו עובד לאיסוף, בדיקה ומעקב אחר מסמכי לקוחות במשרד רואי חשבון. לכל לקוח רשומה אחת עם פרטי קשר, איש קשר וסוג תיק קבוע. לכל טיפול או תקופת דיווח נפתח ללקוח תיק משלו, עם רשימת מסמכים, קישור אישי, סטטוס והיסטוריה. המילים בממשק: לקוח (clients), תיק (cases), סוג תיק (templates).
https://waives-io.github.io/Onboarding--Demo/https://waives-io.github.io/Onboarding--Demo/office.htmlclient.html#<token>https://waives-io.github.io/Onboarding--Demo/upload.htmlhttps://waives-onboarding-intake.autumn-glitter-1f91.workers.devיש להשתמש במסמכים ובפרטי לקוחות פיקטיביים בלבד.
office.html, client.html ו־upload.html.worker/portal.mjs מספק את ה־API. הנתיב /api/intake ממשיך להפעיל את worker/intake.mjs הקיים.stored רק לאחר שקיבל מזהי Drive ואישור עדכון גיליון.התרחיש הקיים ב־Make הורחב באמצעות Router, בלי להחליף את מסלול הקליטה הישן:
| פעולה | תוצאה |
|---|---|
upload_document | יצירת תיקיית דרישה, העלאה, הוספת שורה ל־Submissions והחזרת אישור |
upload_document_revision | העלאה לתיקיית הדרישה הקיימת, הוספת שורת גרסה והחזרת אישור |
lookup_submission | חיפוש לפי submission_id והחזרת אישור קיים לצורך התאוששות |
כש־Make יודע בוודאות שהקובץ לא נשמר, הוא מחזיר {"status":"failed","submission_id":...}. אם lookup_submission לא מוצא את ההגשה, הוא מחזיר {"status":"not_found","submission_id":...}. בשני התיקים ההעלאה מסומנת failed והלקוח יכול להעלות שוב. בבדיקת שמירה של המשרד, not_found על העלאה שבת פחות משתי דקות לא מסמן אותה כנכשלת, כי ייתכן שהיא עדיין רצה ב־Make. העלאה שנשארת pending יותר מ־15 דקות משתחררת אוטומטית ומסומנת failed. אם אישור שמירה מגיע אחר כך, הקובץ נרשם כ־stored בלי לשנות את סטטוס הדרישה.
העמודות הפעילות בגיליון Submissions הן A:O: submission_id, submitted_at, client_reference, full_name, email, period, document_type, requirement_complete, file_count, processing_status, drive_file_ids, review_note, test_mode, note, last_updated_at.
inquiry.html): מבקר ממלא שם, נייד, דוא״ל ובמה צריך עזרה. הפנייה נשמרת ב־inquiries ומופיעה בראש הדשבורד. שום לקוח לא נוצר עד שהמשרד מחליט.המיגרציות נמצאות ב־migrations/:
clients: רשומה יחידה לכל לקוח; reference ייחודי.cases: תיק, שורה לכל טיפול או תקופה; כל תיק שייך ללקוח (clients) אחד.requirements: רשימת המסמכים הנדרשים בתיק, כולל סטטוס ותיקיית Drive.uploads: גרסאות הקבצים ואישור השמירה החיצוני.document_catalog, templates, template_items: קטלוג המסמכים וסוגי התיקים.events: יומן פעילות.inquiries: פניות מדף הנחיתה (new, handled, dismissed).requirements.unavailable_note: תשובת "אין לי את המסמך" של הלקוח. NULL = אין תשובה.0009_case_types_inquiries.sql טוען 9 סוגי תיקים התחלתיים. מסמכים מזוהים לפי שם, כך שמסמך שכבר קיים לא משוכפל.sessions, login_limits: התחברות משרד והגבלת ניסיונות.סטטוס התיק נגזר מהדרישות:
collecting: עדיין חסרים מסמכי חובה.action_required: המשרד ביקש תיקון.client_completed: הלקוח סיים וכל מסמכי החובה שמורים, אך הבדיקה טרם הסתיימה.ready_for_work: כל מסמכי החובה אושרו; גם מסמך רשות שהועלה חייב להיבדק.archived: התיק בארכיון ונעולה עד שמחזירים אותה. closed הוא מצב ישן שהומר לארכיון (0011).MAKE_WEBHOOK_URL, INTAKE_DEMO_CODE, OFFICE_CODE, PORTAL_LINK_KEY, MAKE_BRIDGE_KEY.נדרש Node.js. אין תלויות npm לפרויקט.
יוצרים .dev.vars מקומי, שאינו נכלל ב־Git, עם חמשת הסודות.
מפעילים את המיגרציות המקומיות:
npx wrangler d1 migrations apply files-readiness-demo --local
מפעילים Worker:
npx wrangler dev
מגישים את הקבצים הסטטיים בשרת מקומי ופותחים office.html.
portal-config.js מפנה אוטומטית ל־http://127.0.0.1:8787 כשדף ה־HTML מוגש מ־localhost, ול־Worker החי בפריסה ציבורית.
node --test test/*.test.mjs
node --check worker/portal.mjs
node --check office.mjs
node --check client.mjs
git diff --check
הבדיקות מכסות יצירת token לתיק, חישוב סטטוסים, CSV, אימות קבצים, ה־intake הקיים, CORS, אימות גישה והתנהגות כאשר D1 אינו מוגדר. קובצי הבדיקה ב־test/fixtures/ סינתטיים.
npx wrangler d1 migrations apply files-readiness-demo --remote
npx wrangler deploy
הסדר מחייב: קודם המיגרציה ורק אחריה deploy. המיגרציות מוסיפות טבלאות ועמודות בלבד, ולכן הגרסה הקודמת של ה־Worker ממשיכה לעבוד גם אחריהן. גרסה חדשה של ה־Worker לפני המיגרציה תחזיר שגיאות.
GitHub Pages מתפרסם מענף ברירת המחדל של המאגר. אחרי כל פריסה יש לבדוק את /api/health, כניסה למשרד, יצירת לקוח, שני תיקים לאותו לקוח, העלאה בכל תיק, השלמת לקוח, אישור, בקשת תיקון והעלאת גרסה.
ממשק המשרד כולל ייצוא לקוחות או תיקים וייבוא של עד 40 רשומות בפעולה. ייבוא לקוחות דורש לפחות name ו־reference. ייבוא תיקים דורש client_id, name, reporting_period, due_date ו־template_id; ניתן לספק case_id ייחודי. כל הקובץ נדחה אם אחת השורות אינה תקינה, כדי למנוע ייבוא חלקי.
submission_id בגיליון.integration_not_ready: אחד מסודות Make חסר או PORTAL_BRIDGE_ENABLED אינו true.origin_denied: הבקשה לא הגיעה מ־GitHub Pages המורשה או משרת הפיתוח המקומי.too_many_attempts: ממתינים 15 דקות לפני ניסיון כניסה נוסף.PORTAL_LINK_KEY; החלפתו מבטלת את כל הקישורים הקיימים.