esimScan
eSIM store & travel-data reseller — storefront, customer accounts & admin
Setup & deploymentStorefront & customersAdmineSIM providersAI assistantMobile app
Sell eSIMs end-to-end
Public storefront with country/region browsing, guest checkout, payment, and automatic eSIM delivery (QR + activation) by email.
Multi-provider supply
Connect Airalo, eSIM Access, Maya Mobile, and eSIM Go — sync their catalogs, set margins, and fulfill manually, in stub demo mode, or live via the provider API.
Optional AI assistant
Bring your own OpenAI, Claude (Anthropic), or DeepSeek key to power a storefront eSIM Advisor and AI support reply drafting. Off by default; billed by your provider.
Android & iOS app
A companion Flutter customer app (sold separately) browses your catalog, recommends plans, opens your existing Stripe/PayPal checkout in a secure in-app browser, and delivers the eSIM by QR — powered by the /api/v1 mobile API that ships with esimScan.
Laravel + Inertia (React)
Laravel 12, MySQL, Inertia.js + React, TailwindCSS, Redis (optional; database fallback for cache/queue). RBAC, audit logs, multi-currency, multi-language with RTL.
Documentation index
| Guide | What it covers |
|---|---|
| Setup & deployment | Local install, environment, database, migrations, seeding, i18n, troubleshooting — plus the entry point for production deployment, aaPanel, and the aaPanel quick reference |
| Web installer | Browser-based setup wizard at /install — requirements & permission checks, database test, admin account, migrations, and optional one-click demo-data import |
| Storefront & customers | The public buying experience — browse destinations, checkout, vouchers/gift cards, eSIM delivery, and the optional customer account (eSIMs, orders, KYC, support) |
| Admin | The store back-office at /admin — dashboard, orders, providers, catalog, customers/KYC, marketing, email/SMTP, currencies, languages, payment gateways, roles & permissions |
| eSIM provider configuration | Airalo, eSIM Access, Maya Mobile, eSIM Go — where to get credentials, what to paste, testing, and syncing the catalog |
| AI assistant | Optional AI — choose OpenAI/Claude/DeepSeek, enable the storefront eSIM Advisor and support reply drafting (bring your own key) |
| Mobile app | The companion Flutter app for Android & iOS — point it at your store, rebrand it, build for release, and publish to the App Store / Google Play |
| Mobile API | The /api/v1 REST API that powers the app — Sanctum bearer auth, endpoints, rate limits, errors, versioning |
Start with Setup & deployment to install and host. Use Storefront & customers to understand the buyer journey, and Admin to run the store and configure the system. If you also sell through the phone, see Mobile app.
The two areas
esimScan has one public storefront and one back-office. Knowing each one makes everything else fall into place.
| Area | URL | Who | What |
|---|---|---|---|
| Storefront | / | End customers | Browse destinations & packages, guest checkout, pay, receive the eSIM by email. An optional customer account (/login → /account) tracks past eSIMs and orders. |
| Admin back-office | /admin | You (the store owner) | Run the store: orders, providers, catalog, marketing, customers, KYC, payments, reporting — plus email, currencies, languages, gateways, roles, and branding. |
A third, optional surface is the mobile app — a Flutter client for Android and iOS that talks to the same store through the /api/v1 API. It is a separate purchase; the API it needs is already built in.
Quick reference
- App (dev):
http://localhost:8000 - Storefront:
/· Customer login:/login· Customer account:/account - Admin login:
/admin/login→ Admin:/admin - Mobile API:
/api/v1· health check/api/v1/health - Configuration: a single
.envat the repository root
For repository layout and scripts, see the project README at the repository root (parent of this docs folder).