ec-cube
EC-CUBE is the most popular e-commerce solution in Japan
Turn a phone photo into professional product photos for Amazon, Flipkart, Shopify and Instagram. Studio and lifestyle shots in minutes. 2 photos free.
CommerceTypeScript · PLpgSQLGitHub @tapopcoreOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗AI product photography for real products. One engine, three ways in:
| Surface | Where | Code |
|---|---|---|
| Web app + marketing site + admin | https://your-domain.com | apps/web (Next.js 15) |
| Shopify embedded app | Shopify admin → Apps | apps/web/src/app/shopify + shopify.app.toml |
| iOS and Android app | App Store / Google Play | apps/mobile (Expo SDK 58) |
| Shared rules (presets, prompts, credit maths, GST) | packages/core | |
| Database, ledger, queue | Supabase Postgres | supabase/migrations |
pass / review are delivered; fail is retried, then released with no charge.credit_ledger) with SQL functions so it is atomic and idempotent.Providers sit behind one adapter (apps/web/src/lib/providers). Default order is Gemini → OpenAI → fal. Model IDs, order and per-image cost are editable in Admin → Settings → providers without a deploy. With no keys at all, a clearly labelled sandbox makes placeholder images so the whole flow can be tested.
npm install # web + core (workspaces)
cd apps/mobile && npm install
cp .env.example apps/web/.env.local # fill in
ap-south-1 recommended).supabase/migrations/*.sql in order (or supabase db push).https://your-domain.com/auth/callback.{{ .Token }} so the mobile app can use the 6-digit code.supabase/cron.template.sql with your URL and CRON_SECRET (queue worker every minute + daily checks).apps/web. Add the variables from .env.example.maxDuration), which needs Vercel Fluid compute (default on new projects).PLATFORM_ADMIN_EMAILS, sign in, open /admin.seller: legal name, GSTIN, address, state code, SAC code (confirm with your CA), invoice prefix.RAZORPAY_KEY_ID, RAZORPAY_KEY_SECRET.https://your-domain.com/api/webhooks/razorpay, events: payment.captured, order.paid, payment.failed, refund.processed, payment.dispute.lost. Secret → RAZORPAY_WEBHOOK_SECRET.shopify.app.toml, replace REPLACE_WITH_DOMAIN, then shopify app deploy (sets scopes, URLs and webhooks including the three privacy webhooks).SHOPIFY_API_KEY, NEXT_PUBLIC_SHOPIFY_API_KEY (same value), SHOPIFY_API_SECRET, ENCRYPTION_KEY.shopify_billing.test is true by default; set false in Admin → Settings at launch.apps/mobile/app.json → extra (API URL, Supabase URL/anon key, RevenueCat keys) and the iOS bundleIdentifier / Android package.pocketshoot.credits.5 etc. for iOS, pocketshoot_credits_5 etc. for Android, matching Admin → Pricing), add a webhook to https://your-domain.com/api/webhooks/revenuecat with an Authorization header value of Bearer <REVENUECAT_WEBHOOK_AUTH>.npx eas-cli@latest build --platform all, submit with eas submit. In-app purchases need a development or production build (not Expo Go).npm test # 19 core tests + 18 web tests (ledger SQL in PGlite, image pipeline)
cd apps/web && npx next build
cd apps/mobile && npx tsc --noEmit
| Question | Decision | Change it in |
|---|---|---|
| Charging rule | Reserve on submit, charge only delivered images, 1 free remake per image within 7 days | Admin → Settings → credit_policy |
| Trial | 2 credits per verified email, max 3 per network per 30 days, watermark, 1024px | credit_policy |
| Credit expiry | Paid 12 months, free/bonus 60 days | credit_policy |
| Output resolution | 2048px long edge (website hero 2560px) | packages/core/src/presets.ts |
| Retention | Failed outputs deleted after 30 days | retention |
| Payment gateway | Razorpay (web), Shopify Billing (Shopify), Apple/Google via RevenueCat (mobile) | |
| Pricing | Spec's launch hypotheses (web INR, Shopify USD) | Admin → Pricing |