Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A single-file, offline-capable clickable prototype of the Vision 360 field technician app.
Every screen from the accepted design board (Vision 360 Mobile - standalone.html) is
carried over verbatim and wired into a working app: real router, real navigation stack,
real transitions, plus the auth flow and app shell that the design board didn't cover.
It's an installable PWA — open the live link on a phone and use the browser's
Add to Home Screen (iOS Safari) or Install app (Android Chrome). It then
launches full-screen with its own icon, no browser chrome, and keeps working
offline once opened.README 전문 보기 ↗A single-file, offline-capable clickable prototype of the Vision 360 field technician app.
Every screen from the accepted design board (Vision 360 Mobile - standalone.html) is
carried over verbatim and wired into a working app: real router, real navigation stack,
real transitions, plus the auth flow and app shell that the design board didn't cover.
Live: https://vision360-mobile.vercel.app · https://solomiyahavrylyshyn.github.io/Vision360---mobile/
It's an installable PWA — open the live link on a phone and use the browser's Add to Home Screen (iOS Safari) or Install app (Android Chrome). It then launches full-screen with its own icon, no browser chrome, and keeps working offline once opened.
Deliverable: Vision360-Mobile-Prototype.html — a single
file, no install needed: open it in any browser, or drop it on any static host. No build
step, no server, no dependencies (fonts come from Google Fonts; everything else is
inline). This one is not the installable PWA — that's dist/, below — it's the
"send the whole app as one file" version.
Run the installable build locally:
node build.js
node server.js
It renders as the app itself — full-bleed, no device mockup, no presentation chrome — so it reads the way the Flutter build should.
| Screens from the design board | 54 |
| Screens added here (auth + shell) | 9 |
| Wired tap targets | ~540 |
| Named flow actions | 18 |
The prototype tracks where the job actually is, so the tabs resolve to the right screen:
est: none → draft → review → ready → approved — the Estimate tab lands on the
current stage, not always the empty state.inv: none → sent → paid — same for Finance.onsite — after Start, the Home tab shows the in-progress dashboard with the timer.Everything the technician creates is stored on the device and survives a reload, a closed tab or a dead battery: the job they're on and each job's stage, the estimate options they built (with their real items and totals), a half-finished option, notes, Report Card photo slots, the closeout form keystroke by keystroke, the running clock, the photo count, a customer's earlier refusal — and the session itself, so "keep me signed in" means no login screen tomorrow.
This is on-device storage (localStorage, one versioned key), not a shared server — the
same offline-first shape the technicians asked for. Syncing between devices is the CORE
API's job. More → Reset demo data wipes it and reloads clean, so a demo always starts
from the top.
← or Backspace — back./ on a keyboard, or triple-tap the status bar on a phone.
It lists all 63 screens grouped by section and jumps straight to any of them. Hidden by
default so the app reads as an app.src/shell.html page skeleton, tab bar, and the 9 screens added here
src/app.css app styling
src/app.js router, wiring tables, interactions
src/screens.json the 54 design screens, extracted from the design board
src/manifest.webmanifest PWA manifest — name, icons, standalone display
src/sw.js service worker: precaches the shell, works offline
tools/make-icons.js draws the icon set as real PNGs (pure Node, no deps)
build.js assembles everything into Vision360-Mobile-Prototype.html and dist/
server.js zero-dependency static server for local runs (serves dist/)
Rebuild after editing anything under src/:
node build.js
That writes Vision360-Mobile-Prototype.html (the standalone file above) and a dist/
folder — dist/ is git-ignored and rebuilt on every deploy, both on GitHub Pages (via
.github/workflows/pages.yml) and on Vercel (via
vercel.json's build command: node build.js, output directory dist).
dist/ holds:
index.html — the installable PWA (manifest + icons + service worker registration)manifest.webmanifest, icons/*.png, sw.jsartifact.html — the same page with no <head>, for hosts that supply their ownsrc/screens.json holds each artboard's markup with the status bar and tab bar stripped
(those are now global chrome, so they stay put while screens change). src/app.js then
attaches behaviour by finding elements in that untouched markup rather than editing it:
'Save' — element whose text is exactly that'~This week' — element whose own text nodes are exactly that (ignores child icons)'@arrow_back' — a Material icon by name'@add^1' — that icon's parent, i.e. the pill around it'@expand_more#0' — the first matchSo the design markup is never hand-edited, and a re-export of the design board only needs
screens.json regenerated. Any selector that stops matching is reported in the console as
[proto] unmatched selectors — currently zero.