Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A Next.js app using Supabase Auth, Supabase PostgreSQL, Recharts, and a secure Vercel-compatible Zoho Books synchronization endpoint.
1. Copy .env.example to .env.local and fill in the values.
2. Run the SQL in supabase/schema.sql in your Supabase SQL editor.
3. Install dependencies with npm install.
4. Start locally with npm run dev.
Sync is triggered manually (e.g. the "Sync now" action on the dashboard, or a direct call to the endpoint above) rather than on a schedule. Set SYNC_JOB_SECRET as an environment variable for non-interactive calls.README 전문 보기 ↗A Next.js app using Supabase Auth, Supabase PostgreSQL, Recharts, and a secure Vercel-compatible Zoho Books synchronization endpoint.
.env.example to .env.local and fill in the values.supabase/schema.sql in your Supabase SQL editor.npm install.npm run dev.The sync endpoint is server-only:
POST /api/jobs/zoho-sync
Authorization: Bearer $SYNC_JOB_SECRET
Sync is triggered manually (e.g. the "Sync now" action on the dashboard, or a direct call to the endpoint above) rather than on a schedule. Set SYNC_JOB_SECRET as an environment variable for non-interactive calls.
To get notified when a sync fails, set SYNC_ALERT_WEBHOOK_URL to a Slack or Discord incoming-webhook URL. Leave it unset to disable notifications (this is the default — nothing changes if you don't configure it).
Every logged-in staff account can view and edit records. Bulk delete and Zoho resync are restricted to admins, controlled by an is_admin flag on the Supabase auth user (not a database table, so it can't be self-granted from the app). Grant it by running the following in the Supabase SQL editor:
update auth.users
set raw_app_meta_data = raw_app_meta_data || '{"is_admin": true}'::jsonb
where email = '[email protected]';
Every write made through the Records API (edits, bulk deletes, resyncs) is logged to the audit_log table with the acting user's email, so it doubles as a history you can review from the Supabase table editor.
/functions tracks what each temple function needs, who has committed to it, and what it actually cost. A function holds ordered sections; a section holds ordered line items. The section's type decides which columns appear — a requirements list, a menu with its own vendor/estimate/settlement block, or a printed agenda — so the same three tables cover every planning sheet the temple keeps.
Load the two existing plans (Maha Kumbabhishekam 2026 and the Annathanam food order) by running supabase/seed-functions.sql in the Supabase SQL editor after supabase/schema.sql. It deletes and reinserts those two functions by slug, so run it once at setup — re-running discards any edits made in the app for them.
Zoho settles a bill through any number of separate payments, and its bill list endpoint reports only the net balance. The individual payments come from the per-bill detail endpoint and are stored in zoho_bill_payments, so every Bills table can show a breakdown behind Show payment details.
A bill is re-fetched from Zoho exactly when the payments recorded here stop adding up to total - balance, so a newly paid bill costs one detail call and an unchanged one costs none. Run a Zoho sync after applying the schema to pull the existing payments in; until then the toggle is disabled and says so.
Staff sign in with email and password. Anyone else can be given a guest pass: a shared code, valid until a date you choose, that grants read-only access to the function trackers and the Silai and Event reports. Records, the dashboard and the financial reports stay staff-only.
GUEST_SESSION_SECRET to any random string of 16 characters or more. Guest sign-in stays disabled until you do.A Share button on each report and function page (admins only) creates a link like https://…/s/SSSVA-XXXX-XXXX-XXXX. Anyone with the link sees that one page, read-only, with no sign-in — and only that page: a link to the Silai Fund report doesn't also open the event reports.
Share links are guest passes with a page pinned to them, so they appear in the same Guest access list, expire on the date you choose, and can be revoked there. The link is shown once, at creation, and copied to the clipboard automatically — it can't be shown again, only replaced.
Every request re-checks the pass against the database, so revoking one or letting it expire takes effect straight away rather than when a cookie happens to lapse. Guests can't write anything: every mutation route rejects them with a 403.