Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
Nutrition club check-in and reporting
Translation pending
BusinessTypeScript · PLpgSQLGitHub @fwkee81OnlineOwner 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.
A daily check-in and reporting app for a nutrition club: coach onboarding, customer
management, cup check-ins, a daily report, and monthly metrics — built on Next.js
(Vercel) + Supabase, entirely on their free tiers.Read the full README ↗A daily check-in and reporting app for a nutrition club: coach onboarding, customer management, cup check-ins, a daily report, and monthly metrics — built on Next.js (Vercel) + Supabase, entirely on their free tiers.
supabase/schema.sql.
This creates all tables, enums, Row Level Security policies, and the RPC functions
the app calls (check-in, corrections, daily/monthly reports).https://<project-ref>.supabase.co/auth/v1/callback).cp .env.example .env.local
Fill in:
NEXT_PUBLIC_SUPABASE_URL=https://your-project-ref.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
Then install and run:
npm install
npm run dev
Open http://localhost:3000 — you'll land on /login. Sign up as the first coach,
and on the onboarding form check "I'm the founding coach — no sponsor" since the
coach list will be empty.
The Daily Report and check-in date default to the server's local date
(new Date()), and the DB's monthly_totals/monthly_coach_cups use
current_date. Both Vercel and Supabase run in UTC by default. If your club
operates in a different timezone, set a TZ environment variable on Vercel
(e.g. TZ=Asia/Kuala_Lumpur) so "today" lines up with your local calendar day
near midnight. This isn't strictly required — checked-in cups are always dated
by the client's local day at submission time — but it affects what date the
report pages default to on load.
vercel CLI or import the repo at vercel.com/new,
set the two NEXT_PUBLIC_SUPABASE_* env vars in the project settings, deploy.supabase/schema.sql — the entire database: tables, enums, RLS policies, and
the RPC functions (record_checkin, correct_checkin, void_checkin,
daily_totals, daily_coach_cups, upcoming_birthdays, monthly_totals,
monthly_coach_cups). Business rules (cup-counting eligibility, sponsor-chain
visibility, averaging) live here so every page reads consistent numbers.src/app/login, src/app/signup, src/app/auth/callback — coach
authentication (email/password + Google).src/app/onboarding — one-time coach profile completion after sign-up.src/app/(app) — everything behind a completed coach profile: dashboard,
check-in, admin customer management, daily report, NC metrics. The layout at
src/app/(app)/layout.tsx gates access and renders the nav bar.visible_club_ids() in the schema. Admin write access (customer management)
stays scoped to your own club only.customers.active = false): a hard
delete would break the foreign key from their check-in history, and you'd
lose their name from past Daily Reports / NC Metrics.checkin_edits with who/what/why. Corrections adjust the
customer's balance accordingly.