Shopnest is a single-store e-commerce script you host yourself: one business, one catalogue, one admin team. It is built by DEV3 Technologies on Laravel 12 and Filament 4, with a Blade storefront, a REST API and two Flutter apps: a customer app and a store-owner app. The download includes a demo shop called Verdalune Goods (fictional brand, people and data) so you can click through every screen before you replace it with your own catalogue.
No live demo: the grouped screenshots and the video tours above show the storefront, every admin module and both apps. Install it with the demo data to try each staff role on your own server.
Storefront
- A home page with a 3D product shelf in the hero (three.js, loaded lazily, with a still poster for browsers that ask for reduced motion), bestseller rails, a flash-sale countdown with claimed meters, and a scroll-driven story section.
- Shop and category pages with category, brand, price, colour, size, rating and stock filters, shareable URLs, search with suggestions, and a deals page for flash sales and automatic offers.
- Product pages with a gallery, a variant picker with live price and stock, a 3D and 360 viewer, reviews with verified-buyer badges and helpful votes, back-in-stock requests, bundles, wishlist and compare (up to four products).
- A bag drawer and cart page with free-shipping progress, coupons, gift cards and loyalty points; a stepped checkout with saved addresses; guest order tracking by number and email, and a delivery map drawn in code.
- Light and dark themes, and English plus Arabic with a right-to-left layout.
Catalogue and stock
- Four product types: physical, digital, bundle and gift card. Variants carry their own SKU, barcode, price, compare-at price and weight. Attributes feed the storefront filters.
- Stock per warehouse: on-hand, reserved and reorder-point levels, adjustments, transfers and a read-only movement trail. Each order is fulfilled from the highest-priority warehouse that has the stock.
- A bundle's stock is worked out from its parts.
Pricing, offers and rewards
- Coupons: percent, fixed or free shipping, with segment, category and first-order rules.
- Promotions: automatic discounts, buy-X-get-Y, tiered spend-and-save and timed flash sales with unit caps. Customer segments are rule-based and also limit who can use a coupon.
- Gift cards are bought on the site as a digital item and issued only once money has been received. They behave like cash: automatic promotions never discount them, they earn no points and they do not count towards coupon minimums or free shipping.
- Loyalty: tiers with spend thresholds and point multipliers, a points wallet and a store-credit wallet. Gift-card balances, points and credit all sit in the same ledger as the tax and wallet tables, so they can be audited.
- Checkout accepts a card, cash on delivery, store credit, a gift card and points in one order.
Orders, returns and refunds
- An order moves from pending through confirmed, processing, packed, shipped and out for delivery to delivered and completed, with a timeline of every event. Invoices and credit notes are numbered and download as PDF.
- Customers request a return per order. Staff approve it, receive it with optional restocking, and refund to the original payment, to a gift card or to store credit. The refund order is gateway first, then gift card, then store credit.
- Unpaid card orders expire after 30 minutes by default and give back their stock, coupon use and tenders. A payment that lands on a cancelled order, or a second payment on a paid one, is refunded automatically.
- Abandoned carts: idle carts that have an email address get a recovery message with a link that restores the cart, and recovered orders appear in the reports.
Admin panel
A Filament 4 panel at /admin with a dashboard (KPIs, sales chart, orders by status, top products, low stock, a 3D live-orders globe), orders, invoices, returns, products, categories, brands, attributes, warehouses, stock, customers, segments, abandoned carts, reviews (approve, reject, reply), coupons, promotions, gift cards, loyalty tiers, shipping zones and rates, pages, banners, an SEO panel with redirects, reports with CSV export, settings, roles, an audit log, system health and backups. Five staff roles come ready: admin, manager, fulfilment, support and marketing.
Mobile apps and API
- Customer app (Flutter): browsing, search, product pages with a spinning 360 view, wishlist, cart, checkout, orders, tracking, invoices, returns, loyalty and gift cards, English and Arabic, light and dark, tablet layouts.
- Owner app (Flutter, for admins and managers): a sales dashboard with period switching, orders and status actions including a ship sheet, stock alerts, returns, review moderation and a profile.
- Both apps run in an offline demo mode by default and switch to your server with a build flag. The API lives under
/api/v1 with Sanctum tokens and a reference at /api/docs.
What is in the download
The Laravel application (shopnest/, with Composer packages and compiled assets included, so Node.js is not needed to run it), the two Flutter apps, the vendored Flutter core package, an HTML guide, the API reference and a licence file. A web installer at /install checks the server, connects MySQL or SQLite, creates the admin account and loads either the demo store or an empty install.
Quality checks
On the packaged build: static analysis clean (Larastan level 6 with 0 errors, Pint clean, 471 PHP files linted), 207 Pest tests with 2,799 assertions, 55 pages checked in a headless browser, the public JavaScript and CSS at 53.7 KB gzipped, and a fresh unzip installed through the web wizard and signed in as admin. On mobile, Lighthouse scored 85 or more with gzip enabled (home 90, shop 92, product 90).
Good to know
- Payments: the default gateway is a simulated one. Stripe, PayPal and Razorpay drivers are included but were never tested against live accounts; test each in its sandbox before you take real money.
- SMS and push: one-time codes and SMS go to the log until you configure Twilio or Vonage, and push is simulated until you add FCM or APNs keys. Neither was tested with a live account.
- Mobile apps: the apps have not been tested on physical devices. The card web view,
tel: links and PDF or download links were not exercised inside the apps, and the real-backend checks cover the main shopping flow rather than every edge case (COD refunds, late-payment refunds, order expiry and download locks are covered by the Laravel tests, not by the app smoke test). Guest flows in the app are covered by widget tests against the built-in mock only.
- Delivery map: the live courier map uses simulated GPS. There is no courier integration.
- Languages and currency: Arabic covers the interface only; catalogue text stays in the language you entered it. There is one store currency and no currency display switcher.
- No exchanges: a return can be refunded to the original payment or to store credit; exchanges are not built, so the customer reorders.
- Cron is required: without the scheduler, unpaid card orders are not cancelled and keep their stock reserved, and cart recovery messages are not sent.
- Demo mode wipes data: never leave
DEMO_MODE=true on a live store; it reloads the demo data nightly.
- Performance: the Lighthouse figures above hold with gzip or brotli turned on in your web server; without compression the home page scored 69 in our run.
- Single store only: one merchant, one currency, no vendor accounts. The sneaker 3D model is the weakest of the product models.
- Flutter apps need the Flutter SDK to build; the download contains source, not store-ready binaries.