smooth-app
전 세계 식품의 성분·영양·정보를 자유롭게 협업하고 공개하는 데이터베이스
SOI에 상황을 말하면 스페인어 음성 안내로 몇 분짜리 실습을 무료로 제공한다
Cuéntale a SOI qué te pasa y te diseña una práctica de minutos, guiada por voz y en español, con las técnicas de Neville Goddard, Brian Tracy y Napoleon Hill. Gratis y sin tarjeta.
건강TypeScript · PythonGitHub @soiappdeapoyo온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗App de bienestar personal con IA agéntica basada en una sola ley: Pensamientos → Emociones → Acciones → Resultados.
Instrucciones completas para Claude Code:
CLAUDE.md· Guía de UI:DESIGN.md· Plan de esta versión:PLAN.md
Next.js 15 (App Router) · React 19 · TypeScript estricto · Tailwind 4 · Supabase (Postgres + pgvector + Auth Google) · Vercel AI SDK (Gemini → Groq → DeepSeek) · Stripe (suscripciones) · VoiPi (TTS) · PostHog · Vercel Analytics.
cp .env.example .env.local # completa las llaves
npm install
supabase start # local (o: supabase link --project-ref <ref>)
npm run db:reset # aplica migraciones 0001..0005 + seed demo
npm run dev
Usuarios demo (solo local/staging): [email protected] … [email protected] · contraseña SoiDemo2026!.
https://<proyecto>.supabase.co/auth/v1/callback (local: http://127.0.0.1:54321/auth/v1/callback).https://<tu-dominio>/auth/callback.Crea dos precios recurrentes (mensual $4.99 / anual $29.99) y coloca sus IDs en
STRIPE_PRICE_SOI_PLUS_MONTHLY y STRIPE_PRICE_SOI_PLUS_YEARLY. Webhook → /api/webhook/stripe con
checkout.session.completed, customer.subscription.updated, customer.subscription.deleted. Activa el Billing Portal.
supabase/migrations/ 0001 esquema · 0002 RAG · 0003 RLS · 0004 billing · 0005 racha/comunidad/push
supabase/seed.sql 8 usuarios demo + 20 posts de comunidad
src/app/(app)/ chat, onboarding, rutinas, ritual, evidencias, comunidad, perfil, ajustes, planes
src/app/api/ chat, onboarding, ritual, routines, evidence(+pdf), community(+react), profile(+analyze),
stripe(checkout, portal), webhook/stripe, cron(expire-trials, daily-ritual), push
src/lib/ai/ fallback, router, crisis, prompts/ (plantilla + fichas por agente), tools, rag, moderation
src/lib/billing/ access-rules (puro) + check-access (Supabase)
src/components/ layout, chat, rituals, ritual, onboarding, evidence, community, profile, settings, paywall, ui
tests/ unit (vitest) · e2e (playwright + axe)
| Script | Uso |
|---|---|
npm run dev | Desarrollo |
npm run typecheck / lint | Calidad |
npm test | Unit tests (crisis, accesos, prompts) |
npm run test:e2e | Playwright + auditoría a11y |
npm run db:reset | Migraciones + seed local |
npm run db:seed | Seed demo contra DATABASE_URL |
plan, stripe_* y free_queries_* nunca se aceptan desde el cliente (/api/profile usa lista blanca).0005 revoca UPDATE general en user_profiles y solo concede columnas de perfil: el navegador no puede auto-asignarse SOI+.