Frequently Asked Questions
General
Is there a live demo I can try first?
Yes. The storefront is at https://storemine-demo.spagreen.net/ and the admin panel at https://storemine-demo.spagreen.net/admin/login. Sign in with [email protected] / 12345678 (admin) or [email protected] / 12345678 (customer). The demo runs with DEMO_MODE=true, so every screen is browsable but adding, editing and deleting are blocked.
Do I need to know Laravel or React to use StoreMine?
No. Installation runs in the browser, and everything day-to-day happens in the admin panel. Development skills are only needed if you want to customise the code.
Is there a web installer?
Yes — it's the default. Upload the files, open your domain, and a setup wizard checks your server, writes .env, creates the database tables and makes your admin account. About 10 minutes, no SSH needed for the install itself. The CLI walkthrough is still there for scripted deploys.
Does the installer stay on my server afterwards?
It stays in the code but locks itself: the final step writes APP_INSTALLED=true to .env, after which every /install URL redirects to your storefront. Set the flag back to false if you ever need to re-run it.
Do I still need SSH?
Only for the pieces that live outside the app: building the frontend if your package doesn't ship one, and keeping the queue worker and cron scheduler running in production. The install itself doesn't need a terminal.
Can I run it on shared hosting?
Only if the host provides PHP 8.3+ and a way to keep a queue worker running (which usually means SSH). A small VPS (1 GB RAM) is the recommended minimum — see Requirements.
AI
Do AI features cost extra?
StoreMine itself adds no AI fees. You bring your own API keys (Anthropic, Gemini, OpenAI, FAL, Replicate) and pay those providers directly for what you use.
Does the store work without any AI keys?
Fully. AI sections simply show a "not configured" state until a key is added, and can be switched off again by removing the key.
Payments
Which payment methods are supported?
Cash on Delivery (zero config), Stripe, PayPal, bKash and SSLCommerz. Enable any combination under Admin → Settings → Payments.
Payments succeed but orders stay "pending" — why?
The gateway's webhook isn't registered. Add the webhook URLs from deploy/DEPLOYMENT.md to each provider's dashboard.
Can I use StoreMine outside Bangladesh?
Yes. bKash, SSLCommerz and the Steadfast courier are optional regional integrations — Stripe, PayPal and COD work worldwide, and shipping zones/rates are fully editable.
Operations
How do I reset an admin password?
php artisan storemine:admin-password [email protected]
Emails aren't sending — what do I check?
- Queue worker running? (
sudo supervisorctl status) - SMTP settings correct? Use the test-send in Settings → Email Config
php artisan storemine:preflightflags both automatically.
How do I update to a new version?
Upload/pull the new code, then run ./deploy/deploy.sh — it handles dependencies, build, migrations and caches with maintenance mode around the whole thing.
Where are my uploads stored?
storage/app/public on local disk (linked to public/storage), or your S3/Spaces bucket if configured. Back up the database + uploads and you can rebuild everything else.
Customisation
Can I change the design?
Yes — the frontend is React + Tailwind under resources/js. Run npm run dev while editing, npm run build for production.
Can I add my own language?
Yes. The storefront ships with a language switcher covering English, Bangla, Arabic, Spanish, French, German, Hindi, Urdu, Portuguese, Indonesian, Turkish and Chinese (Simplified). Arabic and Urdu render right-to-left automatically.
Translations are front-end files, not Laravel lang/ files. To add a language:
- Add its code to
LOCALES,LOCALE_LABELS,LOCALE_SHORT_LABELSandLOCALE_INTL_TAGSinresources/js/lib/i18n/config.ts(and toRTL_LOCALESif the script is right-to-left). - Add the same code to
App\Support\Locales::SUPPORTED(and::RTL) so the server accepts theNEXT_LOCALEcookie value. - Create
resources/js/lib/i18n/locales/<code>.jsonwith your strings, and import it inresources/js/lib/i18n/dictionaries.ts. - Run
npm run build.
Any key a language file omits falls back to English, so partial translation files are fine.