RTL Panel is a complete Laravel e-commerce application that ships with both a customer-facing storefront and a powerful admin panel. Built on Laravel with a Bootstrap 4 + Vue 2 front end, it delivers everything an online shop needs out of the box: products, brands, categories, a shopping cart, coupons, orders, shipping, product reviews, wishlists, and a built-in blog.
The project is designed to work cleanly in right-to-left (RTL) layouts, making it a great starting point for Persian, Arabic, and Hebrew online stores. Authentication, social login, real-time messaging, and PDF invoice generation are wired in, so developers can focus on customizing the shop rather than rebuilding the plumbing.
It is ideal for web developers, agencies, and indie makers who want a ready-made, extensible online store with a clean MVC structure and a modern admin dashboard.
🔎 Keywords: laravel ecommerce, rtl admin panel, laravel dashboard, online shop, shopping cart, paypal checkout, product catalog, php ecommerce template, bootstrap admin, vue laravel.
- 🛍️ Full e-commerce flow — products, brands, categories, cart, coupons, orders, and shipping.
- 🧑💼 Admin dashboard — manage catalog, banners, orders, users, and site settings from a dedicated backend.
- 💳 PayPal checkout — integrated payments via
srmklive/paypal. - 🔐 Authentication & social login — Laravel UI auth plus OAuth via Laravel Socialite.
- ⭐ Reviews & wishlists — customers can rate products and save favourites.
- 📰 Built-in blog — posts, categories, tags, and comments.
- 💬 Real-time messaging & notifications — powered by Pusher and Laravel Echo.
- 🧾 PDF invoices — generated with
barryvdh/laravel-dompdf. - 🖼️ Media management — image processing (Intervention Image) and a file manager (UniSharp).
- 📧 Newsletter — subscriber management via
spatie/laravel-newsletter. - 🌍 RTL-friendly — layouts suited to Persian, Arabic, and Hebrew stores.
| Layer | Technology |
|---|---|
| Framework | Laravel (PHP) |
| Front end | Blade, Bootstrap 4, Vue 2 |
| Build | Laravel Mix (webpack), Sass |
| Real-time | Pusher, Laravel Echo |
| Payments | PayPal (srmklive/paypal) |
| Media | Intervention Image, UniSharp File Manager |
| Auth | Laravel UI, Laravel Socialite, Sanctum |
- PHP with the required extensions (incl.
imagickfor image processing) - Composer
- Node.js & npm
- MySQL (or another supported database)
# 1. Clone the repository
git clone https://github.com/morpheusadam/BazaarPanel.git
cd rtl-panel
# 2. Install PHP and JS dependencies
composer install
npm install
# 3. Configure your environment
cp .env.example .env
php artisan key:generate
# 4. Set your database credentials in .env, then migrate & seed
php artisan migrate --seed
# 5. Link storage and build assets
php artisan storage:link
npm run dev
# 6. Serve the application
php artisan serveThen open http://127.0.0.1:8000 in your browser.
Set these values in your .env file:
- Database —
DB_*connection settings. - PayPal — sandbox/live credentials for checkout.
- Pusher —
PUSHER_*keys for real-time messaging and notifications. - Mail — SMTP settings for password resets and the newsletter.
rtl-panel/
├── app/
│ ├── Http/Controllers/ # Storefront & admin controllers
│ ├── Models/ # Product, Order, Cart, Post, User, ...
│ └── Notifications/ # Status & order notifications
├── public/
│ ├── backend/ # Admin panel assets
│ └── frontend/ # Storefront assets
├── resources/views/ # Blade templates
├── routes/ # web.php / api.php
└── database/ # Migrations & seeders
Contributions are welcome! Open an issue or submit a pull request with new features, fixes, or improvements.
Distributed under the MIT License. See LICENSE for details.
Web developer & cheerful hacker · PHP · Laravel · Go
⭐ If this project helped you, consider giving it a star! ⭐