A lightweight Laravel CMS for print businesses DTF transfers · custom signage · product catalogs · orders · deliveries · support tickets · drag-and-drop homepage widgets
RJ CMS Lite is a Laravel-based content and commerce system built for print shops. It combines a customer-facing storefront (catalog, online design studio, cart, checkout, order tracking) with a full admin panel (orders, deliveries, support, content, widgets, storage tools).
The homepage is assembled from widgets: predefined sections that an admin can reorder by drag-and-drop, enable or disable, and edit through per-widget settings.
Comprehensive guides have been separated for clarity:
- Installation Guide (INSTALL.md) — Step-by-step setup for local and shared hosting environments, environment variables, and troubleshooting.
- Changelog (CHANGELOG.md) — Full history of features, updates, and bug fixes for all versions.
| Layer | Technology |
|---|---|
| Backend | Laravel 12.69, PHP 8.2 |
| Frontend | Tailwind CSS 4, Alpine.js 3, Vite 7 |
| Icons | Font Awesome 6 (CDN) |
| Canvas | Fabric.js 5.3 |
| Database | MySQL / SQLite |
| Cache / Queue / Session | database |
| Media | Local storage + Cloudinary (video only) |
URL: /admin/login
Email: [email protected]
Password: admin123
Change these immediately after first login. The account is created by
AdminSeeder.
app/
├── Http/Controllers/Admin/ Admin panel controllers (27)
├── Http/Controllers/ Frontend controllers (13)
├── Http/Middleware/ admin, guest
├── Models/ 40 Eloquent models
├── Payment/Registry/ PaymentGatewayRegistry
├── Providers/ AppServiceProvider, PaymentServiceProvider
├── Services/Storage/ StorageAnalyzer
└── helpers.php human_size()
database/
├── migrations/ 30 migrations
└── seeders/ AdminSeeder, WidgetSeeder, SignWidgetSeeder, SliderSeeder, ...
resources/views/
├── admin/ Admin panel (Blade + Alpine)
│ └── widget/ Per-widget editors
├── theme/rjshop-theme/ Frontend theme
│ ├── layouts/
│ ├── partials/
│ ├── rjshop/
│ ├── staticpages/
│ └── widgets/
├── emails/
└── sitemap.blade.php Sitemap XML template
routes/
├── web.php Frontend routes
└── admin.php Admin routes (prefix: /admin)
README.md Project overview
INSTALL.md Installation guide (local and shared hosting)
CHANGELOG.md Version history
LICENSE.md License terms
Homepage sections are stored in the widgets table. Each row holds key, name, sort_order, is_active and a JSON settings column. Admins reorder widgets by drag-and-drop; the order is saved to sort_order.
Manage widgets at /admin/widgets.
Embeds a third-party AI chat inside the admin panel without an API key.
- Modes: iframe (slide panel) or popup (new window)
- Presets: Hugging Face Spaces, DeepAI, Kimi
- Proxy:
GET /admin/ai-proxy?url=...fetches the target site server-side, stripsX-Frame-Options/ CSP headers, and replaces frame-breakout code with no-ops - Fallback: if the iframe stays empty, a message with an "Open in new window" button is shown
Configure it at /admin/widgets/admin_ai_chat/edit.
The proxy is available to authenticated admins only. Use it with sites you trust.
Online DTF gang sheet builder powered by Fabric.js.
- Upload images (drag and drop / paste)
- Add text (100+ fonts, outlines, shadows, alignment)
- Add shapes (rectangle, circle, line, etc.)
- Image adjustments (brightness, contrast, saturation, blur, filters)
- Auto-arrange, fill sheet, snap to grid
- DPI validation and out-of-bounds warnings
- Save project (JSON) and download a print-ready PNG
- Admin mode for editing order artwork
Route: /design · Controller: DesignController
Dynamic SEO tools managed from /admin/settings/seo.
- Sitemap: Automatically generated at
/sitemap.xml, covering pages, products, models, and blog posts. - Robots.txt: Dynamically served at
/robots.txtfrom the admin settings. - Meta Tags: Global meta title, description, keywords, and Open Graph image.
- Analytics: Google Analytics, Tag Manager, and Facebook Pixel integration.
- Favicon: Dynamic fallback to
public/icon/favicon.pngif no custom favicon is uploaded.
Payments run through a pluggable gateway registry (App\Payment\Registry\PaymentGatewayRegistry), registered by PaymentServiceProvider. A manual gateway is included; additional gateways can be added by registering them in the registry. Manage payment methods in the admin panel under /admin/payments.
RJ CMS Lite is source-available. You may view and modify the code for non-commercial purposes. Commercial use and running it as a live website require prior written permission and a paid license from the author. See LICENSE.md for details.
If this project has been useful to you, consider supporting its continued development and maintenance.
| Method | Details |
|---|---|
| Kofe.al | @ruhidjavadoff |
| Çayvoy | ruhid4715 |
| PayPal | paypal.me/ruhidjavadoff · [email protected] |
| Crypto (USDT, BNB Smart Chain / BEP20) | 0x9a4AD41762D6B07B8C266b312Cf0dBe31FAd890c |
Crypto: send only USDT on the BNB Smart Chain (BEP20) network. Funds sent on other networks may be lost.
Ruhid Javadov — MR-Ruhid
- GitHub: @mr-ruhid
- Website: ruhidjavadov.site
- Project: dtf-website