DEMOE-COMMERCE
Online Store on Laravel + Nuxt.
We show how we build a turnkey store: from a 2,000-product catalog to payment and delivery, with tests for every key scenario.
This is a demo project: we built it ourselves to show our approach and code quality. There is no client and no sales; metrics were measured on test data.
- TYPE
- DEMO
- TIMELINE
- 6 weeks
- TEAM
- Tech lead, QA, designer
- SERVICE
- Turnkey store
01
Task
Build a store where a prospective client can check for themselves how we work: speed, mobile checkout, admin panel and code quality. The scenario is a home-goods store with a catalog of 2,000 items.
02
Constraints
- [WARN]Time budget of 6 weeks, like a real small store
- [WARN]75%+ mobile traffic: checkout designed for phones first
- [WARN]Hosting on a regular $10/month VPS, no CDN magic
- [WARN]The admin panel must be manageable by a non-technical person
03
Solution
We split the store into a Nuxt frontend with statically generated catalog pages and a Laravel API for the cart, orders and admin panel. Filters are cached at the database level, not in the frontend.
Static catalogNuxt generates product pages; updates are triggered by a webhook from the admin panel.
Instant filtersAggregates in PostgreSQL, API response under 80 ms across 2,000 products.
One-screen checkoutLiqPay and Nova Poshta with branch autocomplete.
Automated tests in CI24 Playwright scenarios run before every deploy.
04
Stack
Laravel 11API, admin panelNuxt 3frontendPostgreSQLdataRedisqueues, cachePlaywrightautomated testsGitHub ActionsCIFigmadesignVPShosting
05
Results in numbers
LIGHTHOUSE MOBILE96[PASS] target 90+
LCP1.4 s[PASS] threshold 2.5 s
CLS0.01[PASS] threshold 0.1
AUTOTESTS24[PASS] 24 / 24
Measured with PageSpeed Insights, mobile profile, median of 5 runs. Date: 09.2026.
06
What we would do differently
01We would connect the real Nova Poshta API earlier instead of a mock: the integration took 3 days more than planned.
02We would write checkout autotests from the first sprint, not the third: two regressions could have been avoided.
03Fewer custom components in the admin panel: off-the-shelf Filament solutions would have covered 80% of the needs.
NEXT CASEFashion Store: 47 Bugs, 6 Critical
AUDIT