FloCafe
FloCafe는 구독 없이 무료로 주문·테이블·주방 디스플레이·로컬 데이터를 관리하는 로컬 퍼스트 레스토랑 POS입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Mini SaaS is a multi-surface Next.js 16 marketplace for showcasing and selling micro SaaS automations:
• Marketing site (/) with hero, category grid, value props, and CTA panel.
• Marketplace browse + detail (/apps, /apps/[slug]) backed by Supabase. The flagship workspace remains at /apps/corbin-email-guru.
• Creator surfaces (/dashboard, /onboarding) for listings, payouts, installs, and Stripe Connect.
• Auth (/login) with email + password and magic links via Supabase Auth.
• API for apps, creator metrics, Connect onboarding, and Stripe webhooks.README 전문 보기 ↗Mini SaaS is a multi-surface Next.js 16 marketplace for showcasing and selling micro SaaS automations:
/) with hero, category grid, value props, and CTA panel./apps, /apps/[slug]) backed by Supabase. The flagship workspace remains at /apps/corbin-email-guru./dashboard, /onboarding) for listings, payouts, installs, and Stripe Connect./login) with email + password and magic links via Supabase Auth.Built with Next.js 16, TypeScript, Tailwind, shadcn/ui, framer-motion, Supabase, and Stripe Connect.
npm install
cp .env.example .env.local
npm run dev
Visit http://localhost:3000 for the marketing surface, or jump to:
/apps – marketplace browse grid/apps/corbin-email-guru – flagship productivity app/dashboard – creator console (signed-in)/onboarding – Stripe Connect onboarding (signed-in)/login – sign in / sign upCreate .env.local from .env.example. Never commit secrets.
NEXT_PUBLIC_SITE_URL=http://localhost:3000
# Supabase → Project Settings → API
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_KEY=
# Stripe → Developers → API keys, Connect, Webhooks
STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
Notes:
SUPABASE_SERVICE_ROLE_KEY is accepted as an alias of SUPABASE_SERVICE_KEY.NEXT_PUBLIC_SITE_URL is used for auth redirects and Stripe Account Link return/refresh URLs.http://localhost:3000/auth/callback (and your production URL) to Authentication → URL Configuration → Redirect URLs.In the Supabase SQL editor, run these files in order:
supabase/schema.sql — tables, indexes, RLS, signup trigger, creator_metrics() RPCsupabase/seed.sql — sample creators, apps, installs, and payoutsBoth scripts are idempotent (IF NOT EXISTS / ON CONFLICT).
/apps chips now include Grok, Claude, and OpenAI in front of the workflow categories. Provider chips match the provider name in apps.tags; category chips match apps.category exactly (the old Sales chip is now Sales Ops, which is what the seed stores).
After pulling this change, re-run the seed so the new listings appear:
supabase db query -f supabase/seed.sql
Or paste supabase/seed.sql into the Supabase SQL editor. Existing rows upsert in place.
CLI equivalent if you use the Supabase CLI and are linked to a project:
supabase db query -f supabase/schema.sql
supabase db query -f supabase/seed.sql
Seed creators are storefront-only (no auth.users row). Signing up in the app creates a separate creator profile via the handle_new_user trigger.
npm run dev/dashboard while signed out — you should land on /login?next=/dashboard/dashboard and /onboarding should load; Log out in the header should return you to /login/onboarding, save a studio name + country, then Continue to payouts/onboarding?stripe=return), charges/payouts flags should update after Stripe redirects and/or the webhook runsForward webhooks with Stripe CLI:
stripe listen --forward-to localhost:3000/api/stripe/webhook
Copy the CLI whsec_... value into STRIPE_WEBHOOK_SECRET, then trigger an event:
stripe trigger account.updated
POST /api/stripe/webhook verifies the signature, stores the event on webhook_events (primary key = Stripe event id), and updates creators.stripe_account_id / onboarding flags for Connect events (account.updated, capability.updated, account.application.deauthorized).
| Method | Path | Auth | Purpose |
|---|---|---|---|
GET | /api/apps?q=&category=&featured= | public | List published apps |
POST | /api/apps | creator | Create a listing |
GET | /api/creator/metrics | creator | Dashboard RPC + related rows |
GET | /api/creator/onboarding | creator | Profile + Stripe sync |
POST | /api/creator/onboarding | creator | Save profile; create Express Account Link |
POST | /api/stripe/webhook | Stripe signature | Record events; update Connect status |
See docs/data-model.md for tables, RLS, and relationships.
| Command | Description |
|---|---|
npm run dev | Start Next.js (Turbopack) |
npm run build | Production build |
npm run start | Run the built app |
npm run lint | ESLint (flat config) |
src/app/
page.tsx # Landing page
(marketplace)/apps/page.tsx # Marketplace browse
(marketplace)/apps/[slug]/page.tsx
(marketplace)/apps/corbin-email-guru/page.tsx
(creator)/dashboard/page.tsx
(creator)/onboarding/page.tsx
(auth)/login/page.tsx
auth/callback/route.ts
api/apps/route.ts
api/creator/onboarding/route.ts
api/creator/metrics/route.ts
api/stripe/webhook/route.ts
src/proxy.ts # Session refresh + protected creator routes
supabase/schema.sql
supabase/seed.sql
Admin approval queue, featured-placement admin UI, app-manifest deploy hooks, production Vercel setup, and live paid checkout for buyers. Connect onboarding + webhook plumbing is in place so checkout can be added later.