Mirobody
인간 건강의 표준 레지스트리, 약 2천 개 임상·생활 지표를 하나의 언어로 정리
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Companion aplikacija za ZenFlow™ protokol — dnevni habit tracker, alati za fokus i sistem koji čuva niz i podstiče ponovnu kupovinu.
Mentalne performanse za ljude koji ne mogu da priušte sebi loš dan. — nurolab.rs
Hostuje se na app.nurolab.rs. Standalone Next.js aplikacija koju dobijaju ZenFlow kupci. Glavni sajt (nurolab.rs) je odvojen WordPress/WooCommerce projekat.
ZenFlow nije „pre i posle" proizvod — efekat se gradi iz dana u dan i nestaje kad se protokol prekine. Zato aplikacija nije dodatak nego retencioni motor: svaka funkcionalnost služi jednom od tri cilja.
| Sloj | Izbor |
|---|---|
| Framework | Next.js (App Router) + TypeScript + React 19 |
| Stilizovanje | Tailwind CSS v4 (brend tokeni u configu) |
| UI | shadcn/ui (Radix) |
| Baza | Neon Postgres |
| ORM | Drizzle |
| Auth + role | Clerk |
| PWA | Serwist |
| Grafike | Recharts |
| Resend | |
| Push | Web Push (VAPID) + Vercel Cron |
| Hosting | Vercel |
| Plaćanje (Faza 2) | Stripe (zahteva US entitet) |
Ključne odluke: Supabase je odbačen u korist Neon + Clerk (kad je Clerk izabran za auth, glavna prednost Supabase-a je nestala; Neon izbegava 7-dnevnu inactivity pauzu). Detalji u
CLAUDE.md.
Dve role: Admin (NuroLab tim) i User (krajnji korisnik). Pristup se verifikuje preko WooCommerce porudžbine.
access_status | Uslov | Pristup |
|---|---|---|
| VIP | Porudžbina u poslednjih 60 dana | Pun pristup, besplatno |
| Inactive | Nema porudžbine 60+ dana | Ograničen; poziv na dokup |
Subscriber F2 | Plaća pretplatu (Stripe) | Pun pristup bez kupovine |
Registracija je dozvoljena samo ako mejl postoji među WooCommerce porudžbinama. access_status se računa iz datuma poslednje porudžbine i osvežava pri svakom sync-u.
# 1. Instaliraj zavisnosti
npm install
# 2. Napravi .env.local iz šablona i popuni vrednosti
cp .env.example .env.local
.env.local (vidi .env.example za pun spisak):
# Neon pooled connection string (Neon Console → Connection Details)
DATABASE_URL="postgresql://<user>:<password>@<host>.neon.tech/<db>?sslmode=require"
# Clerk (Clerk Dashboard → API Keys)
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."
CLERK_WEBHOOK_SIGNING_SECRET="whsec_..." # Clerk Dashboard → Webhooks
# 3. Primeni migracije na bazu
npm run db:migrate
# 4. Pokreni dev server
npm run dev
App radi na http://localhost:3000. Style guide / design sistem je na /style-guide.
Pored env varijabli, u Clerk Dashboard-u uradi:
role stigne u session:
{ "metadata": "{{user.public_metadata}}" }
Middleware (middleware.ts) čita sessionClaims.metadata.role za gating /admin ruta.https://<tvoj-domen>/api/webhooks/clerk, subscribe na user.created, user.updated, user.deleted. Signing secret ide u CLERK_WEBHOOK_SIGNING_SECRET.
ngrok tunel ka localhost:3000.{ "role": "admin" }
Promena važi nakon sledećeg refresha session tokena (re-login). Ostali korisnici default-no dobijaju role: "user" preko webhook-a.Rute: javne (/, /sign-in, /sign-up, /style-guide, /api/webhooks/*, /manifest.webmanifest, /~offline); zaštićene login-om (/dashboard); zaštićene rolom admin (/admin, /api/admin/*).
Svih 23 varijable koje kod čita. Obavezno = bez nje feature pada ili se tiho gasi.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗