smooth-app
A collaborative, free and open database of ingredients, nutrition facts and information on food products from around the world
AI-assisted pre-screening and video consultations with registered ophthalmologists. No hardware required.
HealthTypeScript · PLpgSQLGitHub @divya2104OnlineOwner 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.
Next.js 16 (App Router) + Supabase. Server-rendered app (no static export).
Needs Docker (for the local Supabase stack) and Node 20+.
npm run db:start prints the local URL + anon key. Put them in .env.local
(see .env.example):
/login takes one field — an email address or a 10-digit Indian mobile
number (sent to Supabase as +91XXXXXXXXXX) — and sends a 6-digit code.Read the full README ↗Next.js 16 (App Router) + Supabase. Server-rendered app (no static export).
Needs Docker (for the local Supabase stack) and Node 20+.
npm install
npm run db:start # boots local Postgres, Auth, Storage, Studio, Inbucket
npm run db:reset # applies supabase/migrations + supabase/seed.sql
npm run db:types # regenerate src/lib/database.types.ts from the live schema
npm run db:start prints the local URL + anon key. Put them in .env.local
(see .env.example):
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon key from db:start>
SUPABASE_SERVICE_ROLE_KEY=<service_role key from db:start>
Then:
npm run dev
/login takes one field — an email address or a 10-digit Indian mobile
number (sent to Supabase as +91XXXXXXXXXX) — and sends a 6-digit code.
[auth.sms.test_otp] (supabase/config.toml) work offline —
9999999999 or 9888888888, code 123456. For production, set
[auth.sms.twilio] enabled = true with account_sid /
message_service_sid / auth_token = env(SUPABASE_AUTH_SMS_TWILIO_AUTH_TOKEN).Phone and email are separate identities — the same person signing in with each gets two accounts (account linking is not wired).
Seeded accounts (supabase/seed.sql):
| Role | |
|---|---|
[email protected] | doctor |
[email protected] | admin |
Any other email or phone signs up as a patient.
Vercel (app) + Supabase Cloud (DB/Auth/Storage) + Resend (email OTP). Full
step-by-step in DEPLOY.md.
Real (Supabase): auth, doctors + availability, booking (slot-locked), guided-intake / triage (server-computed urgency), patient + doctor dashboards, appointment detail, profile.
Still mock (src/lib/mock/*, marked TODO(mock)): payments (stubbed — bookings
mark paid), video call (simulated CallStage), notifications
(consoleNotifier), e-prescriptions, recalls + reminder jobs, admin
(onboarding / bookings / payments / analytics), doctor patients list.
Integration seams live in src/lib/integrations/.