FloCafe
FloCafe는 구독 없이 무료로 주문·테이블·주방 디스플레이·로컬 데이터를 관리하는 로컬 퍼스트 레스토랑 POS입니다
KeepReviews는 다운그레이드하거나 결제가 실패해도 수집한 리뷰를 숨기거나 삭제하지 않습니다
KeepReviews never hides or deletes the reviews you've collected, even if you downgrade or a payment fails. Free to start, no credit card required.
커머스TypeScript · CSSGitHub @cetremore26온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Shopify app de resenas de producto en Remix + Prisma + PostgreSQL. Billing con reconciliacion automatica, App Proxy verificado por HMAC, theme extension y webhooks GDPR.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Shopify app that shows product reviews on a merchant's storefront, with one non-negotiable guarantee: reviews already collected are never hidden or deleted, on any plan, ever.
Downgrading, or a failed payment, only reduces how many reviews are displayed. The merchant's data and moderation panel stay complete on Free and Pro alike, and CSV export is available on every plan. Data portability is the differentiator, not a paid perk.
Framework · Remix, Shopify's recommended stack, with Polaris and App Bridge
Database · PostgreSQL via Prisma
Billing · Shopify Billing API for the Free/Pro subscription
Storefront widget · Theme App Extension in plain Liquid and vanilla JS, no build step
Photos · Supabase Storage, same project as the database
Email · Resend, for post-purchase review requests
Hosting · Render
No AI anywhere in the core product. That is a deliberate product decision, not a gap.
Plan definitions and price live in app/config/plans.server.ts. Single source of truth, and the price is an environment variable rather than a hardcoded constant.
The shop's plan is cached on the Shop model. The storefront widget cannot afford an Admin API call per page view.
Plan reconciliation in app/services/billing.server.ts self-heals from Shopify's Billing API on every admin page load, so a missed webhook never leaves a merchant on the wrong plan.
The never-hide guarantee is enforced once, in app/services/reviews.server.ts, for every caller. It is not a rule scattered across route handlers.
Storefront data is reached through Shopify's App Proxy. Every request's HMAC signature is verified server-side in app/utils/app-proxy.server.ts before anything touches the database.
Post-purchase emails are scheduled by the orders/paid webhook and sent by a separate cron route. Sending is decoupled from the webhook so a slow or failing email provider never blocks order processing.
GDPR compliance webhooks handle the three mandatory topics for public Shopify apps. This is legally mandated deletion, a different thing from the plan-based guarantee above.
Scheduled jobs run on GitHub Actions cron rather than a dedicated worker process, which keeps the whole thing inside a hobby-tier budget.
Create a Postgres database. For local development a container keeps test data fully separate from production. Then copy .env.example to .env, fill in DATABASE_URL, and run:
npm install
npm run config:link
npx prisma migrate deploy
npm run dev
config:link connects this code to an app in your Partners account and fills in the Shopify keys. npm run dev gives you a tunnel URL and an install link for your development store.
Every environment variable is documented inline in .env.example.
---
## Status
Deployed and running. Built and live: OAuth install, Postgres schema, Free/Pro billing with self-healing sync, moderation panel, CSV export on both plans, storefront widget with submission form, photo uploads and widget customization gated to Pro, post-purchase review request emails, low-storage ops alerting, and the mandatory GDPR webhooks.
Shopify granted protected customer data access, so the orders/paid and orders/cancelled topics are active.
Still ahead: final Pro pricing, App Store listing copy and screenshots, and submission for review.
---
## License
MIT
Built by **Manuel Sebastián Cetre** · [GitHub](https://github.com/cetremore26) · [email protected]