Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
First Class Washing Bay — Management System
A web + installable-mobile (PWA) management system for a car/truck/motorbike
washing bay: record every wash, split the payment transparently three ways
(business / washing boy / soap), pay washing boys with an SMS or printed
receipt as proof, track expenses, and see daily/monthly reports.
Built to match the "Elite Operation" design system you supplied (see
design/DESIGN.md if you keep it in the repo) — same colors, type scale,
spacing, and component styles as the Dashboard and Staff Performance mocks.README 전문 보기 ↗A web + installable-mobile (PWA) management system for a car/truck/motorbike washing bay: record every wash, split the payment transparently three ways (business / washing boy / soap), pay washing boys with an SMS or printed receipt as proof, track expenses, and see daily/monthly reports.
Built to match the "Elite Operation" design system you supplied (see
design/DESIGN.md if you keep it in the repo) — same colors, type scale,
spacing, and component styles as the Dashboard and Staff Performance mocks.
src/lib/sms/) — ships with a safe
console logger for development and a Kairos Africa adapter stub for
production (swap in real credentials when you have them).npm install
docker compose up -d
cp .env.example .env
Edit .env:
DATABASE_URL — already matches docker-compose.yml if you used step 3.NEXTAUTH_SECRET — generate one: openssl rand -base64 32SMS_PROVIDER — leave as console until you have Kairos Africa credentials
(SMS messages will just be printed to your terminal instead of sent).npm run db:migrate
npm run db:seed
The seed script creates:
[email protected] / ChangeMe123! unless you set
SEED_OWNER_EMAIL/SEED_OWNER_PASSWORD first). Change this password
after your first login.npm run dev
Visit http://localhost:3000, sign in with the owner account, and you're in.
Create additional logins directly in the database for now (via
npm run db:studio, which opens Prisma's data browser) — there's no
self-service "invite a manager" screen yet; see Not yet built below.
On the Staff Performance page, each boy with an outstanding balance shows a Pay button. Clicking it lets you choose how to notify them:
SMS_PROVIDER is configured./receipt/payout/[id]) in a
new tab; hit Ctrl/Cmd+P. This is meant for handing a paper slip to boys who
aren't comfortable relying on a phone notification alone — it lists every
vehicle the payout covers, so it doubles as an audit trail.Every wash receipt is also printable from the Revenue Recording table
(/receipt/wash/[id]) for handing to customers.
src/lib/sms/kairos-provider.ts mirrors the contract used by Kairos
Africa's own official SDK (@kairosafrika/sms, github.com/Kairos-Afrika/sms-node)
since their public site doesn't document the REST API directly:
https://api.kairosafrika.com/v1 (not configurable —
there's only one).x-api-key / x-api-secret headers (not Basic Auth).POST /external/sms/quick with { to, from, message }.GET /external/account/balance, credit amount in data.credit.Their dashboard's "API Access Credential" panel gives you an Access Key
and Access Secret — enter both in Settings > SMS Notifications (or as
KAIROS_ACCESS_KEY / KAIROS_ACCESS_SECRET in .env as a fallback), along
with a Sender ID that must already be approved on your Kairos account.
Settings also has "Send Test" and "Check Balance" buttons to verify
credentials work before relying on them for real payouts. If Kairos changes
their contract, src/lib/sms/kairos-provider.ts is the only file that needs
updating — everything else in the app talks to the SmsProvider interface.
Once deployed to a real HTTPS domain, open the site on a phone and use the
browser's "Add to Home Screen" option — it installs like a native app
(src/app/manifest.ts + public/sw.js). Note: the app icon currently ships
as a simple generated SVG (public/icons/icon.svg); for the best look on
iOS specifically, generate proper 192×192/512×512 PNG icons (any favicon
generator works) and swap them into the manifest before a public launch.
prisma/schema.prisma Data model (see comments for the split-money design)
src/lib/reports.ts Shared business-summary + staff-performance queries
src/lib/sms/ Pluggable SMS provider (console + Kairos Africa)
src/lib/validation.ts All input validation (zod)
src/app/(app)/ Authenticated app pages (dashboard, revenue, staff, settings)
src/app/api/ REST API routes backing the above
src/app/receipt/ Printable wash + payout receipts
public/sw.js)src/lib/api-guard.ts); business-settings and service-type changes
additionally require the Owner role.payoutId set) and its
status can no longer be changed, preventing after-the-fact tampering with
paid records.