About this software
About Aurelle Beauty Store
Aurelle is a single-store Laravel 12 / MySQL application for beauty, skincare, makeup and fragrance retailers, with a storefront in English and right-to-left Arabic and a Shopify-style admin panel. Payments run through Stripe, PayPal, Tabby and cash on delivery, with Aramex, UPS and flat-rate shipping carriers. The admin covers catalog, orders, returns, refunds, discounts, combo sets, journal articles, reviews, rewards, analytics and settings. The archive ships with a README, CI workflow, deploy scripts and a test suite (the README claims 448 tests). It is one installation per shop, not multi-tenant.
Why Aurelle Beauty Store
What makes it better
than the alternatives
- 01
Real Arabic RTL
Storefront and admin both ship en/ar language files, with an RTL stylesheet for the Aurelle theme and an admin language switch.
- 02
Regional payments
Stripe, PayPal, Tabby (buy now pay later) and cash on delivery gateways, each with webhook controllers for Stripe, PayPal and Tabby.
- 03
Role-gated admin that fails closed
AuthorizeAdminArea checks every route against config/admin-permissions.php, and unmapped routes are refused.
- 04
Login brute-force protection
A per-IP lock and a per-email lock across IPs, plus separate customer and admin guards, with tests covering the lockout.
- 05
Beauty-specific commerce
Combo sets, concerns, brands, Glow loyalty points, stock alerts and a demo-data import/removal tool.
Storefront
- English and Arabic storefront routes
- Shop
- collections
- brand
- combo and journal pages
- Search
- wishlist
- recently viewed
- product reviews
- Currency switcher
- Order tracking
- returns and custom order requests
- Newsletter signup
Checkout & Payments
- PlaceOrder action and cart services
- Stripe (with saved cards)
- PayPal
- Tabby
- cash on delivery and manual gateways
- Webhook controllers for Stripe
- PayPal and Tabby
- Unpaid card orders auto-cancelled after a configurable time
Shipping
- Aramex and UPS carrier classes
- Flat-rate carrier
- Shipment management in admin
- Shipping settings screen
Catalog
- Products
- variants
- categories
- brands
- concerns
- Combo packages with schedule dates
- Product CSV import and export
- Inventory adjustments and media library
Orders & Returns
- Order and draft order management
- Fulfillment
- refunds and returns services
- Enquiries inbox
- Order status
- payment status and fulfillment enums
Marketing & Loyalty
- Discounts and promotions
- Glow rewards points
- Reviews moderation
- Subscriber list
- Social sign-in with Google and Apple
Content & Theme
- Pages
- banners
- menus
- journal articles
- Editable theme texts and content
- Aurelle theme settings
- Custom code injection
Analytics & Admin
- Sales report
- funnel and traffic report
- Activity log and customer insights
- Admin team with roles
- Settings for tax
- currencies
- mail server
- reCAPTCHA
- backups
- Admin global search and saved views
Deployment
- Docker compose and nginx config
- Deploy and backup scripts
- crontab and queue service
- GitHub Actions CI on PHP
8.2/8.3with MySQL 8 - Seed SQL with no default admin password
| Language | Version | Framework | Used for | Share of code |
|---|---|---|---|---|
| PHP | — | — | Web, API | 88.2% |
| CSS | — | — | Styling | 4.8% |
| SQL | — | — | Database | 3.5% |
| JavaScript | — | — | Front-end | 3.1% |
| Shell | — | — | Scripts | 0.3% |
| HTML | — | — | Front-end | 0.2% |
- Primary language
- PHP 8.2+ (Laravel app), Node 22 for asset build
- Framework
- Laravel 12 with Livewire 4 and Tailwind CSS 4 (admin), Vite 7
- Database
- MySQL 8 or MariaDB 10.6+ (utf8mb4)
- Authentication
- Session-based email/password login with separate customer and admin guards; brute-force lockout; optional Google and Apple sign-in; optional reCAPTCHA v3 on forms
- Licence
- Single-site
- Screens
- 120
- Database tables
- 50
- Supported languages
- English and Arabic storefront and admin, with real right-to-left (RTL) layout for Arabic
- Browser support
- Not stated in the archive digest; verify on your target browsers before launch
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB RAM (estimate, plus MySQL) | 4 GB RAM with MySQL on the same host or a separate DB server |
| OS | Linux with PHP 8.2+ (Laravel 12), MySQL 8 or MariaDB 10.6+, Node 22.x for building assets, Composer, nginx | Linux with PHP 8.2+ (Laravel 12), MySQL 8 or MariaDB 10.6+, Node 22.x for building assets, Composer, nginx |
| Est. monthly hosting | $25 | $25 |
The repo includes docker-compose.yml (app, nginx, MySQL, queue worker, scheduler). cp .env.example .env # set DB_PASSWORD, ADMIN_EMAIL and ADMIN_PASSWORD docker compose build docker compose run --rm app php artisan key:generate --show # paste the key into .env as APP_KEY= docker compose up -d # migrations run on start docker compose exec app php artisan db:seed --force # demo shop + your Owner account docker compose exec app php artisan store:import-aurelle-images Shop at http://localhost:8080, admin at /admin. If ADMIN_PASSWORD was left empty, the seed prints a random password once. Production (domain, HTTPS, backups): docs/docker-deploy.md.
PHP 8.2+, Composer 2, Node 22, MySQL 8 / MariaDB 10.6+. The repo includes deploy/nginx.conf, deploy/deploy.sh, deploy/crontab and deploy/vibe-queue.service. composer install --no-dev --optimize-autoloader cp .env.example .env && php artisan key:generate npm ci && npm run build # create an empty utf8mb4 database; set DB_*, APP_URL, APP_ENV=production, APP_DEBUG=false, # ADMIN_EMAIL and ADMIN_PASSWORD in .env, then: composer run setup-db # migrate, seed (demo shop + Owner), storage:link php artisan store:import-aurelle-images php artisan optimize # cron (scheduler) and, with QUEUE_CONNECTION=database, the email worker: sudo crontab -u www-data deploy/crontab sudo cp deploy/vibe-queue.service /etc/systemd/system/ && sudo systemctl enable --now vibe-queue Point nginx at public/ using deploy/nginx.conf, then run php artisan store:launch-check. Full walkthrough with HTTPS: docs/deployment.md. Plain-SQL alternative: database/schema.sql, database/seed.sql, then php artisan store:admin (seed.sql has no admin account).
Quality report
Manually reviewedHow to read the quality report
What this is. Every project on Vibe96 goes through an automated audit of its source code before a reviewer in Dubai checks it by hand. The score is out of 100; 75 is the minimum to be listed, and any single failing check blocks a listing regardless of the score.
- Security
- No real credentials in the code, every data-changing route protected, admin areas role-gated, no SQL built from user input.
- Code structure
- A developer can navigate and extend it: clear module boundaries, no giant files, little copy-paste.
- Docs & completeness
- The setup guide, example config, schema and required files the builder committed to are actually in the archive.
- Dependency health
- Packages pinned, no known critical vulnerabilities, no abandoned libraries in production paths.
- Build & deploy
- A clean machine can restore, build and start it by following the shipped instructions.
Warnings are problems that didn't block the listing; they stay visible here until a later version clears them. The audit reads the code — it does not run it — so always try the live demo before you buy. Lines of code are counted from the same audited archive.
86/ 100
Automated audit score
✓ Passed the auditReviewer notes (2 minor)
No live credentials found; documented demo passwords and a seeded default admin hash ship to buyers; build mostly reproducible; a few unverifiable references and one doc/manifest inconsistency; admin auth is solid, but routes and ownership checks could not be traced; seed admin password is public; database layer not verifiable: no query code or migrations shown, only indirect signals. None of these stop the software from working; the developer has been told and improvements come in a future update.
Versions & updates
No updates yet. New versions appear here with a changelog.
Buyers receive updates free for 1 year.
What you get
- </>Full source codeThe complete audited source, delivered as a download from your account. No obfuscation.
- ▤DocumentationSetup guide, architecture notes, CLAUDE.md and AGENTS.md.
- ↻One year of updatesEvery new version the builder publishes, free for 12 months.
- ♧30 days of supportInstallation and defect support through Vibe96 tickets.