Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
Wapee는 미용실·클리닉·이발소에 24시간 예약 페이지, 팀 캘린더, 고객 기록, 청구서를 제공한다 14일 무료 체험, 신용카드 필요 없음
Wapee gives salons, clinics and barbers a 24/7 booking page, team calendar, client records and invoices. 14-day free trial, no credit card.
비즈니스PLpgSQL · TypeScriptGitHub @abdullah-dev001온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Appointment-booking SaaS. One Expo codebase → Android app, iOS app and an installable web app (PWA). Backend: Supabase.
Project rules: CLAUDE.md. Docs: docs/. Feature state: context/.
• Node 20+ (tested on Node 24) and npm
• iOS: macOS with Xcode + an iOS simulator
• Android: Android Studio with an emulator (or a device with USB debugging)
• Supabase CLI (brew install supabase/tap/supabase) for migrations and Edge Functions
The app runs without any keys. Missing values only log one dev warning ([env] Missing: …) and backend calls are disabled.README 전문 보기 ↗Appointment-booking SaaS. One Expo codebase → Android app, iOS app and an installable web app (PWA). Backend: Supabase.
Project rules: CLAUDE.md. Docs: docs/. Feature state: context/.
brew install supabase/tap/supabase) for migrations and Edge Functionsnpm install
cp .env.example .env # then fill in the values (see below)
The app runs without any keys. Missing values only log one dev warning ([env] Missing: …) and backend calls are disabled.
| Variable | What it is |
|---|---|
EXPO_PUBLIC_SUPABASE_URL | Supabase project URL (Project Settings → API) |
EXPO_PUBLIC_SUPABASE_ANON_KEY | Supabase anon / publishable key |
EXPO_PUBLIC_VAPID_PUBLIC_KEY | Web Push public key (PWA notifications) |
EXPO_PUBLIC_SITE_URL | The one origin (landing, app, business pages). Default: https://wapee.online |
EXPO_PUBLIC_* values are bundled into the app and are public. Never put secrets in .env.
Server secrets (Twilio, Resend, VAPID private key, service role) live only in Edge Function secrets; their names are listed in supabase/functions/.env.example.
Validation lives in src/config/env.ts. After changing .env, restart the dev server.
The app uses native libraries that are not in Expo Go, so native runs use a development build.
# iOS simulator (first run builds the native app; later runs are fast)
npm run ios
# Android emulator or connected device
npm run android
# Web (dev server, opens the browser)
npm run web
# Dev server only (for an already installed development build)
npm start
If port 8081 is busy: npx expo start --port 8090 (or npx expo run:ios --port 8090).
| Script | Does |
|---|---|
npm start | Expo dev server |
npm run web | Dev server + web |
npm run ios | Build + run the iOS development build (expo run:ios) |
npm run android | Build + run the Android development build (expo run:android) |
npm run lint | ESLint, zero warnings allowed |
npm run typecheck | tsc --noEmit (TypeScript strict) |
npm run format | Prettier write (format:check to only check) |
npm run build:web | Static web export to dist/ (PWA) |
npm run manifest | Regenerate public/manifest.json from src/config/brand.ts (runs automatically before start/web/build:web) |
supabase/ was created with supabase init and is not linked to a project yet.
supabase link --project-ref <ref>
supabase db push # apply migrations in supabase/migrations
supabase gen types typescript --project-id <ref> > src/lib/supabase/database.types.ts
See CLAUDE.md §3. Short version: app/ = routes only, src/features/<feature>/ = feature logic, src/lib/ = shared infrastructure (theme, query, supabase, i18n, time, money), src/components/ = shared UI.